【问题标题】:C# Checking if button was clickedC#检查按钮是否被点击
【发布时间】:2013-05-09 08:37:05
【问题描述】:

如果给出两个条件,我正在制作一个应该继续的程序。

第一个,2 个TextBoxs 有相同的单词,点击了一个Button,打开了一个新的Form。现在我有了“完成”按钮的事件。

private void button2_Click(object sender, EventArgs e)
{
    if (textBox2.Text == textBox3.Text && ???) 
    {    
        StreamWriter myWriter = File.CreateText(@"c:\Program Files\text.txt");
        myWriter.WriteLine(textBox1.Text);
        myWriter.WriteLine(textBox2.Text);
     }
]

我的问题是,我找不到提供类似 `button1.Clicked 或类似内容的方法。

我希望有人可以在这里帮助我..

【问题讨论】:

    标签: c# button click


    【解决方案1】:

    Click 是在您释放鼠标按钮后立即触发的事件。因此,如果您想检查 button2.Click 的处理程序(如果之前单击了 button1),您所能做的就是拥有一个 button1.Click 的处理程序,它将您自己制作的 bool 标志设置为 true。

    private bool button1WasClicked = false;
    
    private void button1_Click(object sender, EventArgs e)
    {
        button1WasClicked = true;
    }
    
    private void button2_Click(object sender, EventArgs e)
    {
        if (textBox2.Text == textBox3.Text && button1WasClicked)
        { 
            StreamWriter myWriter = File.CreateText(@"c:\Program Files\text.txt");
            myWriter.WriteLine(textBox1.Text);
            myWriter.WriteLine(textBox2.Text);
            button1WasClicked = false;
        }
    }
    

    【讨论】:

    • 检查后不要忘记重置标志。否则,它只会工作一次。
    • 我必须在哪里填写 private bool button1WasClicked = false; ?
    • 它是表单类中的一个字段。
    • 如果我的系统提示创建文本文件的访问被拒绝,我该怎么办?
    • 不要将您的文本文件存储在 Program Files 下。该文件夹在现代 Windows 版本中受到特别保护:)
    【解决方案2】:

    这些对我帮助很大:我想从我的 gridview 中保存值,它正在重新加载我的 gridview/覆盖我的新值,因为我的 PageLoad 中有 IsPostBack。

    if (HttpContext.Current.Request["MYCLICKEDBUTTONID"] == null)
    {
       //Do not reload the gridview.
    
    }
    else
    {
       reload my gridview.
    }
    

    来源:http://bytes.com/topic/asp-net/answers/312809-please-help-how-identify-button-clicked

    【讨论】:

      【解决方案3】:

      button1、button2 和 button3 具有相同的偶数处理程序

      private void button1_Click(Object sender, EventArgs e)
          {
              Button btnSender = (Button)sender;
              if (btnSender == button1 || btnSender == button2)
              {
                  //some code here
              }
              else if (btnSender == button3)
                  //some code here
          }
      

      【讨论】:

        【解决方案4】:

        我对这个网站很陌生。我是一名本科生,正在攻读计算机应用学士学位。 我正在使用 C# 在 Visual Studio 中做一个简单的程序,我遇到了同样的问题,如何检查是否单击了按钮? 我想这样做,

        if(-button1 is clicked-) then
        {
        this should happen;
        }
        if(-button2 is clicked-) then
        {
        this should happen;
        }
        

        我不知道该怎么办,所以我尝试在互联网上搜索解决方案。我有很多解决方案对我没有帮助。所以,我自己尝试了一些东西并做到了,

        int i;
        private void button1_Click(object sender, EventArgs e)
                {
                    i = 1;
                    label3.Text = "Principle";
                    label4.Text = "Rate";
                    label5.Text = "Time";
                    label6.Text = "Simple Interest";
                }
        
        
        private void button2_Click(object sender, EventArgs e)
                {
                    i = 2;
                    label3.Text = "SI";
                    label4.Text = "Rate";
                    label5.Text = "Time";
                    label6.Text = "Principle";
                }
        private void button5_Click(object sender, EventArgs e)
                {
        
                    try
                    {
                        if (i == 1)
                        {
                            si = (Convert.ToInt32(textBox1.Text) * Convert.ToInt32(textBox2.Text) * Convert.ToInt32(textBox3.Text)) / 100;
                            textBox4.Text = Convert.ToString(si);
                        }
                        if (i == 2)
                        {
                            p = (Convert.ToInt32(textBox1.Text) * 100) / (Convert.ToInt32(textBox2.Text) * Convert.ToInt32(textBox3.Text));
                            textBox4.Text = Convert.ToString(p);
                        }
        

        我声明了一个变量“i”,并在不同的按钮中为其分配了不同的值,并在 if 函数中检查了 i 的值。 有效。如果有的话,给你的建议。谢谢。

        【讨论】:

          猜你喜欢
          • 2021-03-08
          • 2013-07-26
          • 1970-01-01
          • 2020-05-23
          • 1970-01-01
          • 1970-01-01
          • 2014-12-28
          • 2014-05-19
          • 1970-01-01
          相关资源
          最近更新 更多