嗨,目前我有2个按钮,更新和修改。更新按钮设置为最初隐藏。
当我单击修改按钮,修改按钮隐藏时,出现更新按钮,文本框变为非只读。然后单击更新按钮将隐藏更新按钮并显示修改按钮,文本框将被隐藏,标签将出现。
如何更改代码以便:
当我第一次点击修改按钮,我可以更新文本框值,如果按“ESC”按钮,我将隐藏“更新”按钮,文本框将只读?
以下是当前代码:
private void ProjectnumberupdateButton_Click(object sender, RoutedEventArgs e)
{
ProjectnumberresultLabel.Content = ProjectnumberTextBox.Text;
ProjectnumberupdateButton.Visibility = Visibility.Hidden;
ProjectnumberTextBox.Visibility = Visibility.Hidden;
ProjectnumbermodifyButton.Visibility = Visibility.Visible;
PreviousbuildversionresultLabel.Content = "" + MajorversionresultLabel.Content + "." + MinorversionresultLabel.Content + "." + ProjectnumberresultLabel.Content + "." + BuildnumberresultLabel.Content;
}
private void ProjectnumbermodifyButton_Click(object sender, RoutedEventArgs e)
{
ProjectnumberupdateButton.Visibility = Visibility.Visible;
ProjectnumberTextBox.Visibility = Visibility.Visible;
ProjectnumbermodifyButton.Visibility = Visibility.Hidden;
}
编辑: 这就是我到目前为止所做的:
private void MajorversionTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
MajorversionupdateButton.Visibility = Visibility.Hidden;
MajorversionTextBox.Visibility = Visibility.Hidden;
MajorversionmodifyButton.Visibility = Visibility.Visible;
}
}
private void MajorversionmodifyButton_Click(object sender, RoutedEventArgs e)
{
MajorversionupdateButton.Visibility = Visibility.Visible;
MajorversionTextBox.Visibility = Visibility.Visible;
MajorversionmodifyButton.Visibility = Visibility.Hidden;
Keyboard.Focus(MajorversionTextBox);
MajorversionTextBox_KeyDown(); // this is the line. i have trouble hooking this up
}
抱歉,我将项目编号更改为majorversion。
答案 0 :(得分:1)
您可以为窗口编写OnKeyPress事件并跟踪ESC按钮单击。 在内部,您可以编写逻辑来切换控件的可见性。
答案 1 :(得分:0)
您可以挂钩/处理KeyDown事件,检查按下的键是否为Escape按钮,并从那里对代码中的按钮和文本框进行更改。
答案 2 :(得分:0)
单击修改按钮后,可以在文本框上设置焦点,然后在文本框中使用KeyDown事件:
private void ProjectnumberTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
ProjectnumberTextBox.ReadOnly = true;
ProjectnumbermodifyButton.Visibility = Visibility.Hidden;
}
}