簡體   English   中英

C#按鈕綁定到文本框

[英]C# Button bind to textbox

我正在嘗試實現一個刪除文本textbox的按鈕。 但是,這里的問題是我將有多個textbox ,它們有多個button ,分別刪除文本。 我已經嘗試了一種奇怪的方法,通過一個switch案例獲取button名稱來處理不同的textbox ,如下所示:

switch(btn.Name)
{
    case "button1": textbox1.Clear();
        break;
    case "button2": textbox2.Clear();
        break;
}

雖然這解決了這個問題,但我發現這在設計方面確實不穩健且不實用。 所以我想問一下是否有更好的方式做到這一點? 謝謝!

如果你的邏輯是1:1; 您可以為每個按鈕使用按鈕單擊事件,並放置要清除的特定文本框。 如果你的邏輯不是1:1; 請在您的問題中更具體。

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Clear();
}

您可以像這樣擴展Button類

public partial class ButtonHasList : Button
{
    public List<Textbox> List { get; set ;  }
    public  ButtonHasList() 
    {
         List = new     List<Textbox> ();
         this.Click += CleanTextOfList;
    }
    private void  CleanTextOfList ( object sender,EventArgs e)
   {
          foreach ( var item in List)
          {
                   item.Text = "";
           }

    }  
}

添加要將其文本清除到ListOfTextbox的文本框,文本將是干凈的

它應該像提取數字部分一樣簡單,如果它是一對一使用控件集合。 然后,您可以將所有按鈕分配給click事件,而無需x個事件處理程序。 一旦Click事件處理程序為所有按鈕....

private void allButtons_Click(object sender, EventArgs e)
{
    try
    {
        Button btn = sender as Button;
        ((TextBox)Controls["textbox" + btn.Name.Replace("button", "")]).Clear();
    }
    catch (Exception ex)
    {
        //do something with the error
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM