簡體   English   中英

我如何知道復選框已被選中?

[英]How do I Know the CheckBox is selected?

我已經在列表框中生成了運行時的復選框,問題是我怎么知道選中的復選框是什么?

我在 C# 中嘗試了以下代碼:

CheckBox box;
if ( box.Checked )
if ( box.IsChecked )

這是以下代碼:

public partial class Choose_Users
{
    Service1Client C = new Service1Client();
    Array a;
    user_detail d;
    String F_Name, L_Name;
    CheckBox user = new CheckBox();

    public Choose_Users()
    {
        InitializeComponent();
        a = C.GetData();            

        for (int i = 0; i < a.Length; i++)
        {
            d = (user_detail)a.GetValue(i);                
            user.Name = d.First_name;
            user.Content= d.First_name;
            listBox1.Items.Add(user);                
        }
    }
    private void listBox1_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        List<user_detail> list = new List<user_detail>();
            foreach(CheckBox box in this.listBox1.Items)
            {
                if (box.Checked  // here my problem is
                {

                }
            }
        }
    }

他們沒有工作。 有什么幫助嗎?

無論使用哪種編程語言,您都需要保留對動態創建的復選框的引用。

您可以通過在任何本地方法和/或事件之外創建您的復選框來做到這一點:

CheckBox box;

然后在本地方法或事件內部分配

box = new CheckBox();

然后您可以在您的代碼和 box.IsChecked 的任何其他位置訪問box.IsChecked將按您的意願工作。

請將 Choose_Users 中的 for 循環替換為以下循環。 以下代碼每次都會創建一個新的復選框 object。

for (int i = 0; i < a.Length; i++)
{
   CheckBox user = new CheckBox();
   d = (user_detail)a.GetValue(i);
   user.Name = d.First_name;
   user.Content= d.First_name;
   listBox1.Items.Add(user);                
}

關於檢查狀態, box.Checked 是完美的。

讓我知道這是否對您有幫助。

我們創建字符串 selectedItem 並將復選框列表的選定項分配給它,如下所示:

string selectedItem = Box.SelectedItem.Text;

暫無
暫無

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

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