在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()中。所以我的问题是,我要写什么作为有效的论证,还是有其他的方法?

在Visual c#中向EventMethod传递参数

你可以使用下面的代码

文本框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;
    }