C# 添加按钮或链接会中断窗体
我使用的是windows窗体,在窗体中有一个带有两个标签的用户控件,一个标签上有一条消息“输入金额”,另一个标签上有用户输入的值(例如,当你去ATM机时),它开始显示数字。。如果我在用户控件上没有任何其他控件,它就可以正常工作。。但是,当我添加一个按钮时,它不起作用,当我使用数字键盘时,它不会开始显示数字。。但如果我删除我添加的任何按钮,它会再次工作。。。这是我的用户控制代码C# 添加按钮或链接会中断窗体,c#,webforms,C#,Webforms,我使用的是windows窗体,在窗体中有一个带有两个标签的用户控件,一个标签上有一条消息“输入金额”,另一个标签上有用户输入的值(例如,当你去ATM机时),它开始显示数字。。如果我在用户控件上没有任何其他控件,它就可以正常工作。。但是,当我添加一个按钮时,它不起作用,当我使用数字键盘时,它不会开始显示数字。。但如果我删除我添加的任何按钮,它会再次工作。。。这是我的用户控制代码 public partial class OperationAmount : UserControl {
public partial class OperationAmount : UserControl
{
public OperationAmount()
{
InitializeComponent();
}
private int _inputNumber = 0;
private void OperationAmount_Load(object sender, EventArgs e)
{
}
private void Form_KeyAmountPressed(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar))
{
return;
}
else if (lblOperationAmount.Text.Length > 9)
{
return;
}
else
{
_inputNumber = 10 * _inputNumber + Int32.Parse(e.KeyChar.ToString());
ReformatOutput();
}
}
private void ReformatOutput()
{
lblOperationAmount.Text = String.Format("{0:0.00}", (double)_inputNumber / 100.0);
}
}
新控件可能会从Form_KeyAmountPressed方法中窃取按键,因为现在它具有焦点并接收事件按键。
一个简单的解决方法是在按钮的按键事件中添加方法
Form_keyamountspressed
。还可以尝试将按钮的TabStop属性设置为false。(当按钮是唯一可以聚焦于用户控件的控件时,不确定这是否有任何影响)