2012-07-28 44 views
3

如何更改IP地址輸入的掩碼文本框屬性? 例如C#掩碼文本框

private void Interneta_savienojums_Load(object sender, EventArgs e) 
{ 
    maskedTextBox1.Text = " . . . "; 
    maskedTextBox1.PromptChar = ' '; 
    maskedTextBox1.Mask = "009.009.009.900"; 
    maskedTextBox1.ResetOnSpace = false; 
    maskedTextBox1.SkipLiterals = false; 
} 

在窗體文本框中顯示(...),正是我想要的。當我的輸入是123.123.123.123 一切都沒問題,但是當我輸入23 .1 .001.200時,返回值是23 .1 .001.200,但我需要23.1.1.200。我如何刪除空格並返回正常值?這是否可能?

對於ip檢查我使用,這是解決方案!

try 
     { 
      IPAddress IP = IPAddress.Parse("127.0.0.000"); 
      MessageBox.Show(IP.ToString()); 
     } 
     catch (FormatException) 
     { 
      MessageBox.Show("Wrong ip !"); 
     } 
+0

任何人?請... !請採取其他方式輸入IP並檢查它! – deleted 2012-07-28 19:07:21

+0

我很好奇......這是否驗證插入的IP地址?或者你可以輸入像999.999.999.999這樣的值嗎? (IP地址的值無效)。我建議使用@competent_tech的想法,並將其分成4個單獨的字段,然後驗證它們各自的範圍在0到255之間。否則,您可能必須實施自己的自定義數據類型進行驗證。請參閱這裏的「備註」部分:http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.validatingtype.aspx – Kjartan 2012-07-28 20:13:56

+0

@Kjartan我發佈您的問題,回答! – deleted 2012-07-28 22:29:24

回答

2

嘗試使用此代碼

var input = "009.009.009.900"; 
var result = input.Trim(); 

,你也可以在訪問Text屬性,例如使用這些功能在同一個域中

​​
2

您只需去掉空格

maskedTextBox1.Text.Replace(" ", ""); 
+0

謝謝,這工作正常,但我找到更好的方式,轉換和檢查的有效性,但無論如何感謝提前! – deleted 2012-07-28 22:35:22

3

玩爲什麼不乾脆讓對自己的生活更輕鬆,並創建4個獨立的數據輸入框?如果我輸入得太快或需要備份,我個人總是遇到單個文本框方法的困難。

然後,您可以驗證每個方框的有效數據,因爲用戶離開時確保它們不輸入錯誤的值。

如果您有權訪問數字編輯文本框,您甚至可以設置最小值和最大值(或者您可以自己實現)。

+0

這對我來說很難找回現有的本地地址 – deleted 2012-07-28 22:31:34