繁体   English   中英

C#文本框编程

[英]C# textbox programming

我正在尝试对文本框进行编程,因此他们会在文本框离开后执行操作。 关于如何做的任何想法? 我用KeyUp尝试了smth,但不知道它是如何工作的

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace For_homework
{
    public partial class Form1 : Form
    {
        public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        var LoopResult = new List<int>();
        var LoopParameters = new List<int>();
        LoopParameters = TakeInput();
        LoopResult = Looping(LoopParameters);
        Result(LoopResult);
        FinalResult(LoopResult);
    }
    private List<int> TakeInput()
    {
        var Loop = new List<int>();
        Loop.Add(int.Parse(textBox1.Text));
        Loop.Add(int.Parse(textBox2.Text));
        Loop.Add(int.Parse(textBox3.Text));
        Loop.Add(int.Parse(textBox4.Text));
        Loop.Add(int.Parse(textBox5.Text));
        Loop.Add(int.Parse(textBox6.Text));
        return Loop;
    }//Take the input
    private List<int> Looping(List<int> LoopParam)
    {
        var LoopSum = new List<int>();
        LoopSum.Add(0);
        LoopSum.Add(0);
        for (int i = LoopParam[0]; i <= LoopParam[1]; i += LoopParam[2])
        {
            LoopSum[0]+=i;
        }
        for(int i = LoopParam[3]; i <= LoopParam[4]; i += LoopParam[5])
        {
            LoopSum[1]+=i;
        }
        return LoopSum;
    }//Do the loop and summarize
    void Result (List<int> LoopResult)
    {
        resultA.Text = ""+LoopResult[0];
        resultB.Text = ""+LoopResult[1];
    }//Give result
    void FinalResult(List<int> LoopResult)
    {
        if(LoopResult[0]>LoopResult[1])
        {
            WhoWins.Text = "Player A wins";
        }
        else if(LoopResult[1]>LoopResult[0])
        {
            WhoWins.Text = "Player B wins";
        }
        else
        {
            WhoWins.Text = "It's a draw";
        }
    }//Give final result
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        int i = int.Parse(textBox1.Text);
        if (i < 1 || i > 6)
            label3.Text = "Wrong number";
    }//Texbox evaluation

    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        int i = int.Parse(textBox2.Text);
        if (i < 7 || i > 18)
            label4.Text = "Wrong number";
    }

    private void textBox4_TextChanged(object sender, EventArgs e)
    {
        int i = int.Parse(textBox4.Text);
        if (i < 1 || i > 6)
            label7.Text = "Wrong number";
    }//Textbox evaluation

    private void textBox5_TextChanged(object sender, EventArgs e)
    {
        int i = int.Parse(textBox5.Text);
        if (i < 7 || i > 18)
            label8.Text = "Wrong number";
    }
}
}

形式本身

它告诉我我的帖子主要是代码所以我需要添加更多细节

在这种情况下,LostFocus TextBox事件可能对您有用:

private void textBox1_LostFocus(object sender, System.EventArgs e)
{
    //Do something
}

并且不要忘记在设计器文件中注册事件为

textBox1.LostFocus += new EventHandler(textBox1_LostFocus);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM