前言
本文主要是突然间好奇,想写个带图形界面的简单工具看看,然后参考微软官方的资料,写了一个极其简陋的抽号器,文末有下载链接。
开发流程
因为这真的很简单,所以就三步走。
第一步 创建项目
根据微软官方文档,创建Windows窗体应用项目。
使用 C# 创建 Windows 窗体应用 - Visual Studio (Windows) | Microsoft Learn
第二步 布置控件
拖动工具栏的控件到窗体中。
如果没有看见工具箱,可以在左上角的视图找到工具箱,等一会儿加载,就能够看见。
我这里用到的控件就是Label用于展示文本,TextBox文本框获取随机数的范围,Button控制开始与暂停,Timer控制随机数展示的间隔。
第三步 编写脚本
为Button写一个用于在指定范围生成随机数的脚本,双击Button控件可快速转到按钮点击的方法中。
private void startStopButton_Click(object sender, EventArgs e)
{
if (!isRolling)
{
// 开始滚动
if (int.TryParse(minValueTextBox.Text, out minValue) &&
int.TryParse(maxValueTextBox.Text, out maxValue) &&
minValue <= maxValue)
{
isRolling = true;
startStopButton.Text = "Stop";
timer.Start();
}
else
{
MessageBox.Show("请输入有效的范围!");
}
}
else
{
// 停止滚动并显示结果
isRolling = false;
startStopButton.Text = "Start";
timer.Stop();
int result = int.Parse(rollingNumberLabel.Text);
ShowResult(result);
}
}
注意引入Timer的时候,需指明是form下的,不然编译器可能不知道。
以及,一般建议不直接在form上直接进行编写,开一个新窗口继承form,然后将你的内容写进去。这样的好处就是区分开直接自己写和拖动控件智能自动生成的部分。
提示timer的有关编写。
public Form1()
{
InitializeComponent();
timer = new System.Windows.Forms.Timer();
timer.Interval = 50; // 数字滚动的速度
timer.Tick += Timer_Tick;
}
Timer_Tick只消写好随机数,并将数值赋值给显示的label即可,这样就可以实现点击按钮后,开始不断随机数显示,直到点击stop时,停止新一轮的随机数。
最终效果
点击start,按钮的文本变成stop,开始抽数,再次点击stop,确定最终的数。
写在最后
这种算图形化?(bushi反正就是比较简单的,基本不用什么基础也能进行开发,快去玩吧。当然如果看到这里你的电脑还没有这个简单的抽号器的话,那也可以点击这里的链接直接下载下来使用。文件夹NumberPicker\bin\Debug\net6.0-windows下的NumberPicker.exe就是最终的程序。