LOADING

加载过慢请开启缓存 浏览器默认开启

基于VS使用C#开发windows窗体应用——简单小工具(NumberPicker)

2024/8/15 C# VS Windows Forms

前言

本文主要是突然间好奇,想写个带图形界面的简单工具看看,然后参考微软官方的资料,写了一个极其简陋的抽号器,文末有下载链接。

开发流程

因为这真的很简单,所以就三步走。

第一步 创建项目

根据微软官方文档,创建Windows窗体应用项目。

使用 C# 创建 Windows 窗体应用 - Visual Studio (Windows) | Microsoft Learn

image-20240818232511943

第二步 布置控件

拖动工具栏的控件到窗体中。

如果没有看见工具箱,可以在左上角的视图找到工具箱,等一会儿加载,就能够看见。

image-20240818233346228

我这里用到的控件就是Label用于展示文本,TextBox文本框获取随机数的范围,Button控制开始与暂停,Timer控制随机数展示的间隔。

第三步 编写脚本

为Button写一个用于在指定范围生成随机数的脚本,双击Button控件可快速转到按钮点击的方法中。

image-20240818235237599

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,确定最终的数。

78d394e1e03545f0ffe204f0564d796

写在最后

这种算图形化?(bushi反正就是比较简单的,基本不用什么基础也能进行开发,快去玩吧。当然如果看到这里你的电脑还没有这个简单的抽号器的话,那也可以点击这里的链接直接下载下来使用。文件夹NumberPicker\bin\Debug\net6.0-windows下的NumberPicker.exe就是最终的程序。

抽号器下载