在Visual c#中向EventMethod传递参数
本文关键字:参数 EventMethod 中向 Visual | 更新日期: 2023-09-27 18:18:31
我有这两个方法,我必须使用它们来修改列表框中选定的项目,并在我用于填充列表框的相同txtBox中编辑它后,将其返回并替换为旧的。
private void txtBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
List.Items.Add(Label.Content);
Label.Content = "";
txtBox.Text = "";
}
}
private void ButtonModify_Click(object sender, RoutedEventArgs e)
{
int index = List.SelectedIndex;
object item = List.SelectedItem;
txtBox.Text = (string)item;
txtBox_KeyUp(????????);
}
我的直觉说我必须调用EventMethod来填充ListBox,但是有一些参数我无法删除,因为我需要它们在txtBody_KeyUp()中。所以我的问题是,我要写什么作为有效的论证,还是有其他的方法?
你可以使用下面的代码
文本框PreviewKeyDown事件
private int _tmpIndex = -1;
private void TextBox_OnPreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Enter || _tmpIndex == -1) return;
ListBox1.Items[_tmpIndex] = TextBox1.Text;
TextBox1.Text = "";
_tmpIndex = -1;
}
ListBox鼠标双击事件
private void ListBox_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if (ListBox1.SelectedIndex <= 0) return;
TextBox1.Text = ListBox1.SelectedItem.ToString();
_tmpIndex = ListBox1.SelectedIndex;
}
玩