2013-06-04 44 views
1
231,32 
23232,11 
232,11 
3232,11 

我需要幫助,我一直在尋找一段時間,在這個問題上陷入困境。我使用richtextbox,我不知道如何限制每行的逗號字符數。應該只有一個逗號。限制多行Richtextbox中每行的逗號計數

任何幫助表示讚賞。

+0

如果有多個應該發生什麼? – keyboardP

+0

用戶無法按下該關注行中的逗號鍵,例如禁用逗號鍵一段時間或用empty.string刪除第二個逗號。 – laruffii

回答

1

一種方式是處理的RichTextBox的KeyPressed事件,並檢查是否是進入了,字符。如果是,獲取當前行並檢查它是否包含逗號,然後確定是否應該處理KeyPress

private void myRTB_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == ',') 
    { 
     //get the current line and check if contains a comma 
     if (myRTB.Lines[myRTB.GetLineFromCharIndex(myRTB.SelectionStart)].Contains(',')) 
      e.Handled = true; //contains a comma so handle this keypress 
    } 
} 

這並不妨礙從每行包含多個逗號,所以你必須進行相應的處理是複製/粘貼文本的用戶。

+1

真棒男人!!,我從來沒有探索GetLine thingy,無論如何這裏是VB.NET版本: 'code'如果e.KeyChar =「,」那麼如果rtb.Lines(rtb.GetLineFromCharIndex(rtb.SelectionStart)) .Contains(「,」)Then e.Handled = True End If End If – laruffii