基于Visual Studio 简单的画图窗体的搭建
有很多人想用Visual studio来实现简单的画图的编程与搭建,但不懂如何做起,那么接下来我就简单的和大家一起来学习一下这,画图的窗口的搭建有什么步骤!
(1). Visual Studio 的下载与创建
(2). Visual Studio 窗体是如何搭建的
(3). 简单的窗体的代码编程
(4).作品的内容展示
一、 Visual Studio 的下载与创建
(1)下载地址:https://visualstudio.microsoft.com/zh-hans/ 点开网址直接下载便可(我是用2019的)
(2)下载完成后还会有一个下载页面(安装工具与功能的),
掉坑记录1:这要下载这个工具(Windows窗体和控制台的应用)不然用c#打开新手很难受,就是会导不了图
二、下载完成后就可以创建项目了
打开后找到Windows 窗体应用
名字与位置可自己更改(但位置最好在C盘) 然后点创建便行了
编辑代码的话直接双击一下白板就行(重新导出白板直接双击Form1)
工具箱可添加与编辑控件
右边有个工具箱可直接调用(更改外观步骤是 工具箱>属性>更改你想要更改的值 ;更改代码是直接双击该工具便可)
工具箱里的内容控件是指对数据和方法的封装。可以先简单地理解为窗体上的按钮、文本框、文字等等。
三、简单的窗体的代码编程
代码的编程可直接在工具箱里选择你想要用的控件直接双击便进入代码层了(图中是我写的我们的课堂项目)
准备工作都做好了的话就开始编程吧
Form1()类中的定义的变量内容
Image myImage;
Graphics G;
Pen pen = new Pen(Color.Black, 5); //画笔
int H, W; //画板的长宽
int draw = 0;
Brush bush = new SolidBrush(Color.Blue);
Form1()中的构造函数
public Form1()
{
InitializeComponent();
H = picture.Height; //画板宽度
W = picture.Width; //画板高度
myImage = new Bitmap(W, H);
G = Graphics.FromImage(myImage);
G.Clear(Color.White); //画布
picture.Image = myImage;
}
传感器部署的的点击功能代码
private void button1_Click(object sender, EventArgs e)
{
Random rand = new Random(Guid.NewGuid().GetHashCode());
int j = 0,sum;
string num = inputBox1.Text; //获取图像的数量
string r = inputBox2.Text; //获取圆的半径
double s, sum1, s1, z;
int R = int.Parse(r);
int N = int.Parse(num);
int k,l, m, n,ii, jj;
double result;
int[,] array = new int[1000, 1000]; //画布的大小
int sum2 = 0;
Random ran = new Random();
int w = 0;
w = H * W; //画板面积
G.Clear(Color.White);
z = (Math.Pow(0.386, (((double)N * 3.14 * (double)R * (double)R) / w)));
for (j = 0; j < N; j++)
{
int x = rand.Next(R, H - R);
int y = rand.Next(R, W - R);
G.FillEllipse(bush, x, y, R, R);
m = y + R;
n = x + R;
for (k = y - R; k <= m; k++)
{
for (l = x - R; l <= n; l++)
{
sum = System.Math.Abs(y - k) * System.Math.Abs(y - k) + System.Math.Abs(x - l) * System.Math.Abs(x - l); //计算每个点到圆心的距离
sum1 = (double)sum;
result = Math.Sqrt(sum1);
if (result < R)
{
array[k, l] = 1;
}
else
{
array[k, l] = 0;
}
}
}
picture.Image = myImage; //显示点
}
for (ii = 0; ii < 500; ii++)
{
for (jj = 0; jj < 500; jj++)
{
if (array[ii, jj] == 1)
{ //判断是否为带颜色的坐标
sum2 = sum2 + 1;
}
}
}
s1 = ((double)sum2 / (double)w) * 100; //实际覆盖率
s = (1 - z) * 100; //理论覆盖率
string text = outputBox3.Text; //给shuchu1的窗口输出值
string t1 = Convert.ToString(s);
outputBox3.Text = t1;
string t2 = Convert.ToString(s1);
outputBox4.Text = t2;
}
四、代码的功能演示
编程结束语:每个刚刚拿到手的项目或工程,一下子是很难下手的,我们有可能会为了某一个程序的“坑”彻夜难眠,但我们要有解决他的决心,困难很多但解除的办法也很多,比如我这个工程,实现的方法会有很多并不是只有这一个,这个时候就要我们去发现,去编程。
每个人的思维都不尽相同,因此我们通过自己去一步一步的编程才能是我们在代码中一步一步的成长起来。