[英]Passing listview item to textbox in another form
我目前正在开发一个显示同事是否在场的应用程序。 为了让要管理它的人使用起来有点“容易”,我希望用户能够双击用户的列表视图项,这会提示 window 可以更改该人的状态。
使用所选人员的缩写(作为所用数据库的主键)提示消息框是相当容易的。 但是,我希望将此缩写传递给其他 window 中的文本框。
这是我用来启动 window 以更改员工状态的方法:
frmStatusEdit SE = new frmStatusEdit();
SE.Show();
请记住:此代码工作正常; window 启动没有任何问题。 然而,在双击用户时,window 启动时没有包含其缩写的文本框。
出于某种原因,尽管使用了这条线,但它与消息框一起成功地工作,但我无法让它工作:
MessageBox.Show(lvEmployees1.SelectedItems[0].Text);
当我使用它时(SE 指的是另一个窗口),什么也没有发生:
if (lvEmployees1.SelectedItems.Count > 0)
{
string listItem = lvEmployees1.SelectedItems[0].Text;
SE.tbxAbbrevEmployee.Text = listItem;
}
我一直在寻找解决方案并遇到了几个,但似乎没有一个可以解决这个问题。 也没有显示错误消息,这使得找出我做错了什么变得更加困难。
谁知道我可能做错了什么? 我对编码不是很有经验,所以在我的情况下很容易忘记事情。
试试这个,将代码从按钮单击到列表视图双击:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var form2 = new Form2
{
Message = "Hello World"
};
form2.ShowDialog();
}
}
public partial class Form2 : Form
{
public string Message { get; set; } = "";
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = Message;
}
}
Form2 的另一种选择:
public partial class Form2 : Form
{
private string _message = "";
public string Message
{
get { return _message; }
set
{
_message = value ?? "";
textBox1.Text = _message;
}
}
public Form2()
{
InitializeComponent();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.