通过更改 checkedlistBox C' 中的选中项来更新变量
updat a Variable by change the checked Items in checkedlistBox C'
我有两个表单,第一个表单有一个数组变量,seconf 表单中有 CheckedlistBox。
public partial class FormDiagramm : Form{
DiagramAuswählen DA= new DiagramAuswählen();
int c =DA.i_wahl[0]
int c1 =DA.i_wahl[1]
int c2 =DA.i_wahl[2]
int c3 =DA.i_wahl[3]}
如何更改 i_wahl[0]、i_wahl[1]、i_wahl[2] 和 i_wahl[3] 的值。
通过更改检查列表框中的检查项目
public partial class DiagrammAuswählen : Form
{
public int[] i_wahl = new int[4];
public void CLB_Spannung_ItemCheck(object sender, ItemCheckEventArgs e)
{
if(e.NewValue == CheckState.Checked)
{
dd();
}
}
public void dd()
{
int index_1 = 0;
i_wahl[0] = 0;
i_wahl[1] = 1;
i_wahl[2] = 2;
i_wahl[3] = 3;
for (int index = 0; index < 19; index++)
{
if (CLB_Spannung.GetItemCheckState(index) == CheckState.Checked)
{
i_wahl[index_1] = index;
index_1++;
if (index_1 > 3)
{
goto End_Wahl;
}
}
}
End_Wahl:;
}
How could I do this??
用两种形式创建一个新项目。 Form1 应有 1 个按钮。 Form2 应有 1 个 datagridview
Form1.cs
namespace Whatever
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var ps = new List<Person>()
{
new Person(){ Active = true, FirstName = "John" },
new Person(){ Active = false, FirstName = "Jane" },
};
new Form2(ps).ShowDialog();
foreach (var p in ps)
MessageBox.Show($"{p.FirstName} is {p.Active}");
}
}
public class Person
{
public bool Active { get; set; }
public string FirstName { get; set; }
}
}
Form2.cs
namespace WinFormsApp472
{
public partial class Form2 : Form
{
public Form2(List<Person> x)
{
InitializeComponent();
dataGridView1.DataSource = x;
}
}
}
我会加一些解释,但真的没有太多要解释的; Form2 通过构造函数接受列表,将其绑定到网格。网格可用于更改选择。关闭后,MessageBoxes 证明 Form1 已更改值
我有两个表单,第一个表单有一个数组变量,seconf 表单中有 CheckedlistBox。
public partial class FormDiagramm : Form{
DiagramAuswählen DA= new DiagramAuswählen();
int c =DA.i_wahl[0]
int c1 =DA.i_wahl[1]
int c2 =DA.i_wahl[2]
int c3 =DA.i_wahl[3]}
如何更改 i_wahl[0]、i_wahl[1]、i_wahl[2] 和 i_wahl[3] 的值。 通过更改检查列表框中的检查项目
public partial class DiagrammAuswählen : Form
{
public int[] i_wahl = new int[4];
public void CLB_Spannung_ItemCheck(object sender, ItemCheckEventArgs e)
{
if(e.NewValue == CheckState.Checked)
{
dd();
}
}
public void dd()
{
int index_1 = 0;
i_wahl[0] = 0;
i_wahl[1] = 1;
i_wahl[2] = 2;
i_wahl[3] = 3;
for (int index = 0; index < 19; index++)
{
if (CLB_Spannung.GetItemCheckState(index) == CheckState.Checked)
{
i_wahl[index_1] = index;
index_1++;
if (index_1 > 3)
{
goto End_Wahl;
}
}
}
End_Wahl:;
}
How could I do this??
用两种形式创建一个新项目。 Form1 应有 1 个按钮。 Form2 应有 1 个 datagridview
Form1.cs
namespace Whatever
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var ps = new List<Person>()
{
new Person(){ Active = true, FirstName = "John" },
new Person(){ Active = false, FirstName = "Jane" },
};
new Form2(ps).ShowDialog();
foreach (var p in ps)
MessageBox.Show($"{p.FirstName} is {p.Active}");
}
}
public class Person
{
public bool Active { get; set; }
public string FirstName { get; set; }
}
}
Form2.cs
namespace WinFormsApp472
{
public partial class Form2 : Form
{
public Form2(List<Person> x)
{
InitializeComponent();
dataGridView1.DataSource = x;
}
}
}
我会加一些解释,但真的没有太多要解释的; Form2 通过构造函数接受列表,将其绑定到网格。网格可用于更改选择。关闭后,MessageBoxes 证明 Form1 已更改值