C# 在 Forms App 中绘制屏幕上的线条

标签 c# forms

我正在学习如何使用表单应用程序在屏幕上绘制内容。我想使用网格制作贪吃蛇游戏。

我目前可以使用此代码绘制网格。问题是我的方 block 画在屏幕上的一点点。一旦出现在屏幕右侧,就不是一个完整的框。我还希望边缘的线条肉眼可见,而不是像图片底部那样隐藏。

提前非常感谢。

private void Form1_Paint(object sender, PaintEventArgs pe)
{
    var numCells = (float)this.Height;
    var cellSize = 20.0F;

    Graphics g = pe.Graphics;
    Pen blackPen = new Pen(Color.Black, 1);

    for (int i = 0; i < numCells; i++)
    {
        //Vertical Lines
        pe.Graphics.DrawLine(blackPen, i * cellSize, 0, i * cellSize, numCells * cellSize);

        //Horizontal Lines
        pe.Graphics.DrawLine(blackPen, 0, i * cellSize, numCells * cellSize, i * cellSize);
    }
}

enter image description here

最佳答案

我想你想要

var cellSize = 20.0F;
var numCells = Math.Floor((float)this.Height / cellSize);

因为现在你也在屏幕之外画线了。

关于C# 在 Forms App 中绘制屏幕上的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74294250/

相关文章:

c# - 使用 C# 检索 API 数据

javascript - jQuery异步函数调用,无AJAX请求

php - 如何将复选框中的选中值收集为 javascript 数组/字符串?

forms - 窗体控件错误 :ERROR Error: No value accessor for form control with unspecified name attribute

javascript - 如何使用 Selectize.js 查找或创建 rails belongs_to 关联?

c# - 创建并运行 C# 控制台应用程序

c# - ASP .NET - 从选定的 Listview 控件行检索值?

c# - 我可以禁止其他程序集继承某个类吗?

c# - 为什么在 C# 中添加多个 double 时顺序会影响舍入

python - 在 Django 1.7 上使用表单和 View 更新模型字段