2024年3月19日

[c#]开发Q&A #01

Q:线程有什么用?如何使用线程?
A:在进行while循环等消耗资源的操作时,开辟新线程使得原先的线程不会卡死。

Thread xiancheng = new Thread(fangfa); //新建线程
xiancheng.IsBackground = true; //该线程为后台线程,将会随着主线程的退出而退出
xiancheng.Start();
Control.CheckForIllegalCrossThreadCalls = false; //可跨线程访问,放入Form1_Load()

Q:如何让TextBox控件只能填写数字,并限制输入范围
A:

public Form1()
{   
    this.textmin.KeyPress += new KeyPressEventHandler(textmin_KeyPress);
}
private void textmin_KeyPress(object sender, KeyPressEventArgs e)
{
    // 允许输入数字和控制字符(如Backspace)
    if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
    {
        
        e.Handled = true;// 不是数字的字符则取消输入
    }
}
//限制可输入数字范围
private void textmin_TextChanged(object sender, EventArgs e)
{
    if (textmin.Text == "")
        textmin.Text = 0.ToString();
    int number = int.Parse(textmin.Text);
    textmin.Text = number.ToString();
    if (number <= 99999)
    {
        return;
    }
    textmin.Text = textmin.Text.Remove(0);//0可看情况修改为其他数
    textmin.SelectionStart = textmin.Text.Length;

}

Q:如何访问其他窗口的控件的值
A:新建一个类,创建public static变量用于传递

Q:visual studio中如何给程序添加图标,版权信息等
A:资源管理器中,右键项目选择属性。

Q:发布应用时,如何打包为一个单独的exe可执行文件
A:发布时选择文件夹,设置中将目标运行时从可移植的修改为win-x64

发表回复

您的电子邮箱地址不会被公开。