2009-02-20 49 views

回答

95
private void NumericUpDown1_Enter(object sender, EventArgs e) 
{ 
    NumericUpDown1.Select(0, NumericUpDown1.Text.Length); 
} 

(注意Text屬性是隱藏在智能感知,但它的存在)

+10

@Jon:Darn智能感知: - /良好的呼叫與文本屬性。 – 2009-02-20 20:27:51

+5

我只是想在表單構建過程中這樣做(將焦點設置爲特定的NumericUpDown並選擇其所有文本)。我不得不調用`Select()`和`Select(0,NumericUpDown1.Text.Length);`,第一個設置焦點,第二個選擇文本。所以,給任何來到這裏尋找一種方式來做我正在做的事的人的一張便條:你必須讓這兩個電話才能得到你想要的結果,即使兩個電話都被命名爲相同的東西(我一直期待着這個電話選擇(開始,長度)`也設置焦點像`選擇()`做) – 2012-08-09 19:17:22

+0

「如果你使用tab鍵來關注控件,這段代碼將會很好,但如果你用點擊來關注它,儘管它通過方法,它不會選擇文本我的猜測是這個代碼是在一些內部框架代碼之前調用的,這些代碼將光標重新設置爲選擇,爲了避免這種情況,可以將相同的代碼放在click事件處理程序中, `n0n4m3` http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/28354bc2-3903-4be4-9c2c-3249319b59fd – PUG 2012-12-13 14:42:24

2

我創建了一個擴展方法來實現:

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 
-1

嘗試

myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 
4

我環顧四周我有同樣的問題,這對我的作品,首先選擇項目,第二個選擇文本,希望它有助於在未來

myNumericUpDown.Select(); 
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 
7

我想爲未來搜索Tab和Click的用戶添加此功能。

喬恩b應答的作品完美的標籤,但我需要修改,包括點擊

下面將在選中文字,如果你選項卡或點擊。如果你點擊並輸入框,然後它會選擇文本。如果您已經專注於該框,那麼點擊將執行通常的操作。

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事件

-1

我有多個numericupdown框,並希望實現這一點。我創建:

private void num_Enter(object sender, EventArgs e) 
{ 
    NumericUpDown box = sender as NumericUpDown; 
    box.Select(); 
    box.Select(0, num_Shortage.Value.ToString().Length); 
} 

然後通過與輸入事件每盒此功能(我沒有做)爲伍,我的目標已經實現。花了一段時間弄清楚我是初學者。希望這可以幫助別人出局

相關問題