2014-05-02 52 views
-1

我有两种形式和一个自定义类。我已经使用我的自定义类在form1中填充了一个列表框,其中包含多种数据类型。我想将位于列表框中的类中的每个值传递给form2中的单个文本框。我很难弄清楚如何访问我的类的每个列表框实例中的各个值,然后将它们在form2中的文本框之间进行拆分。我以为我是在正确的轨道上通过在form2上为我的第一个文本框创建一个属性。我现在只设置了一个属性,因为我不确定它会起作用,只能进行测试。在form1中,我试图设置它,所以我可以从选定的项目中访问我的类值。C#将form1中的列表框中的选择传递给form2中的文本框

形式1

private void propertiesToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     frmProperties editProperties = new frmProperties(); 
     DialogResult result = editProperties.ShowDialog(); 


     object employeeSelect = lstBoxEmployees.SelectedValue; 
     editProperties.TextFirstName = Convert.ToString(employeeSelect); 
    } 

形式2

public partial class frmProperties : Form 
{ 

    public string TextFirstName 
    { 
     get { return txtFirstName.Text; } 
     set { txtFirstName.Text = value; } 
    } 

    public frmProperties() 
    { 
     InitializeComponent(); 
    } 

} 
+1

的winform或WPF ?并只发布部分代码! – Sajeetharan

+0

winform。对不起,混乱 – user3594691

+0

我试着将它设置为lstBoxEmploees.SelectedItem(Myclass [0]),但它不起作用。这给了我想要做什么,我希望的想法。 – user3594691

回答

0

形式1:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void btnOpenForm2_Click(object sender, EventArgs e) 
    { 
     Form2 f2 = new Form2(this); 
     f2.ShowDialog(); 
    } 

    public string ListBoxValue 
    { 
     get { return listBox1.SelectedItem.ToString(); } 
    } 
} 

表格2:

public partial class Form2 : Form 
{ 
    Form1 f1; 
    public Form2(Form1 f1) 
    { 
     this.f1 = f1; 
     InitializeComponent(); 
    } 

    private void Form2_Load(object sender, EventArgs e) 
    { 
     textBox1.Text = this.f1.ListBoxValue; 
    } 
} 
+0

这可行,但它与我的代码的另一部分混淆,并将整个listboxitem添加到form2上的一个文本框。虽然它与我混淆的部分是我已经有一个方法设置为打开form2与文本框为空,以便我可以填写它们并点击确定然后将值添加到我的类的实例,然后将该类添加到我的列表框在form1上。您发布的代码会覆盖我制作的方法,并且每次打开时都会在form1的列表框中选择任何项目来填充form2 txtbox1。 – user3594691

+0

@ user3594691这只是一个示例,您只需根据需要进行修改 – Sajeetharan

相关问题