![](/img/trans.png)
[英]How to set the tab button to select the whole text in ALL the WinForms NumericUpDown in C#
[英]How to select all text in Winforms NumericUpDown upon tab in?
當用戶切換到我的NumericUpDown
我希望選擇所有文本。 這可能嗎?
private void NumericUpDown1_Enter(object sender, EventArgs e)
{
NumericUpDown1.Select(0, NumericUpDown1.Text.Length);
}
(注意 Text 屬性隱藏在 Intellisense 中,但它在那里)
我想為將來搜索 Tab 和 Click 的人添加此內容。
Jon B 的答案非常適合 Tab,但我需要修改以包含點擊
如果您使用 Tab 或單擊,下面將選擇文本。如果您單擊並輸入框,則它將選擇文本。 如果您已經專注於該框,則單擊將執行正常操作。
bool selectByMouse = false;
private void quickBoxs_Enter(object sender, EventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
curBox.Select();
curBox.Select(0, curBox.Text.Length);
if (MouseButtons == MouseButtons.Left)
{
selectByMouse = true;
}
}
private void quickBoxs_MouseDown(object sender, MouseEventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
if (selectByMouse)
{
curBox.Select(0, curBox.Text.Length);
selectByMouse = false;
}
}
您可以將它用於多個 numericUpDown 控件。 只需要設置 Enter 和 MouseDown 事件
我環顧四周,我遇到了同樣的問題,這對我有用,首先選擇項目,第二個選擇文本,希望對未來有所幫助
myNumericUpDown.Select();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
我創建了一個擴展方法來完成這個:
VB:
<Extension()>
Public Sub SelectAll(myNumericUpDown As NumericUpDown)
myNumericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
C#:
public static void SelectAll(this NumericUpDown numericUpDown)
numericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
我有多個 numericupdown 框,並希望為所有人實現這一目標。 我創建:
private void num_Enter(object sender, EventArgs e)
{
NumericUpDown box = sender as NumericUpDown;
box.Select();
box.Select(0, num_Shortage.Value.ToString().Length);
}
然后通過將此函數與每個框的 Enter 事件相關聯(我沒有這樣做),我的目標就實現了。 我花了一段時間才弄清楚,因為我是初學者。 希望這可以幫助其他人
為了通過鼠標單擊或 Tab 按鈕選擇所有文本,我使用:
public frmMain() {
InitializeComponent();
numericUpDown1.Enter += numericUpDown_SelectAll;
numericUpDown1.MouseUp += numericUpDown_SelectAll;
}
private void numericUpDown_SelectAll(object sender, EventArgs e) {
NumericUpDown box = sender as NumericUpDown;
box.Select(0, box.Value.ToString().Length);
}
嘗試
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.