这些传值方法我知道。只是这个clb中的值是循环读的。for (int i = 0; i < clb.CheckedItems.Count; i++) { string id =checkedListBox1.CheckedItems[i].ToString(); } 我要的就是把这个id值传过去,用全局静态变量传过去只能得到clb中选中的一项。而不是所有选择项!
构造函数吧 form1里面public Form1(int []a) { int a1=a[1]; int a2=a[2]; //... InitializeComponent(); }form2里面int []a={1,2,3}; Form1 f1 = new Form1(a);
其实可以这样: string a=""; for (int i = 0; i < chklistb1.CheckedItems.Count; i++) { if (a.ToString().Trim() == string.Empty) { a = a + chklistb1.CheckedItems[i].ToString(); } else { a = a+ "," + chklistb1.CheckedItems[i].ToString(); } MessageBox.Show(a, "测试程序");
} string[] c = a.Split(',');
少说了个东西在窗体之间传值可以使用 public static 类型 名称 付值后在另外一个窗口使用 窗体名.名称 调用 以下只是说明怎么一次性传递多个数据而已!
{
string id =checkedListBox1.CheckedItems[i].ToString();
}
我要的就是把这个id值传过去,用全局静态变量传过去只能得到clb中选中的一项。而不是所有选择项!
{
int a1=a[1];
int a2=a[2];
//...
InitializeComponent();
}form2里面int []a={1,2,3};
Form1 f1 = new Form1(a);
改为public .........在form1中 form2. checkedlistbox取你想要的值.
试了你的方法,但是读不到checkedlistbo中选中的值!
form2=new form2(this);
在form2的构造函数中,做如下定义private form1 frm;
public form2(form1 f)
{
InitializeComponent();
frm = f;
}
this.frm.接收者=this.CheckedListBox.CheckedItems
string a="";
for (int i = 0; i < chklistb1.CheckedItems.Count; i++)
{
if (a.ToString().Trim() == string.Empty)
{
a = a + chklistb1.CheckedItems[i].ToString();
}
else
{
a = a+ "," + chklistb1.CheckedItems[i].ToString();
}
MessageBox.Show(a, "测试程序");
}
string[] c = a.Split(',');
public static 类型 名称
付值后在另外一个窗口使用
窗体名.名称 调用
以下只是说明怎么一次性传递多个数据而已!