我在表单上有一个文本框和一个 vScrollBar。我希望文本框有焦点,但是当它这样做时,使用鼠标上的滚动按钮不会改变滚动条的值。如果滚动条有焦点,我可以用鼠标轻松滚动,但在文本框中输入文本将不起作用。有什么方法可以捕获表单上的所有滚动按钮活动并将其重定向到滚动条?
问问题
660 次
2 回答
1
处理 TextBox 的 MouseWheel 事件...
public frmSTOverScrollText()
{
InitializeComponent();
txtInput.MouseWheel += new MouseEventHandler(txtInput_MouseWheel);
}
void txtInput_MouseWheel(object sender, MouseEventArgs e)
{
if (e.Delta < 0)
{
if (vsInput.Value + vsInput.LargeChange <= vsInput.Maximum)
vsInput.Value += vsInput.LargeChange;
}
else if (vsInput.Value - vsInput.LargeChange >= vsInput.Minimum)
vsInput.Value -= vsInput.LargeChange;
}
于 2013-08-02T12:30:08.730 回答
0
在表单属性下,在事件类型中添加一个 KeyDown 事件:
yourTextBox.Text += e.KeyValue;
之后,在文本框属性下,在事件类型中添加一个 Enter 事件:
this.Focus();
基本上会发生的事情就是这样。该表单现在会将每个按键定向到文本框。当文本框处于焦点时,所述文本框将自行取消焦点,让表单将任何字符附加到文本框。
于 2013-08-02T12:26:04.487 回答