2016-04-07 28 views
0

Tamam. Öyleyse kolej dersim için Windows Forms kullanarak (.Split() ile daha zorlu sürüm yapıyor) C# içinde basit bir hesap makinesi yapmak zorundayım. textBox ve birkaç buttons var. Yani tam Ben textBox içine 3 numara eklemek ama sonra benim numaradan sonra bir + sembolü ekler bir button basmak istiyorum. Ve evet, öyle. Ama sonra, textBox no'lu yazıya geri dönmek istersem, bir kez daha girmem gerekiyor. Ama onlar ayrıca mavi renkte, fare ile seçmek olur gibi bütün textBox.text işaretlemek çünkü onları yapmak isteyeyim olarak,Metin üzerinde durma Bir düğmeyi tıklattıktan sonra

Ve şimdi kullanım .Focus() veya kullanım .Select() gibi cevaplar buldum ve çalıştıkları ve başka bir sayıya basarsam, textBox'dan her şeyi silerdim. Bütün metni işaretlemeden bunu yapmanın bir yolu var mı? Bunun yerine sadece bu kombinasyon için .Focus() gitmek kullanmanın

cevap

4

:

// Set focus to control 
txtbox.Focus(); 
// Set text-selection to end 
txtbox.SelectionStart = txtbox.Text.Length == 0 ? 0 : txtbox.Text.Length -1; 
// Set text-selection length (in your case 0 = no blue text) 
txtbox.SelectionLength = 0 

VEYA

// Set focus to control 
txtbox.Focus(); 

// Check if text is longer then 0 
if(txtbox.Text.Length > 0) 
{ 
    // Set text-selection to end 
    txtbox.SelectionStart = txtbox.Text.Length -1; 
    // Set text-selection length (in your case 0 = no blue text) 
    txtbox.SelectionLength = 0 
} 

Her iki yönden

aynıdır. İlkinde, ikinci satırda yerinde text-length == 0 kontrol ediyorum.

İkincisi, klasik bir if deyimini kullanıyorum.

İlgili konular