2012-09-20 39 views
2

我使用Visual Basic庫中的InputBox,並且需要確定哪個按鈕已被最終用戶選中。使用InputBox,您只能獲取用戶輸入的值,我還需要檢測它們是否點擊確定或取消。使用VisualBasic.DLL的InputBox需要DialogResult

有沒有人試過這樣做?

我知道我可以創建一個新窗體並以這種方式執行,但是想知道這有一個解決方法?

string answer = Interaction.InputBox("Question","Title",""); 

我能確定用戶是否具有由answer.length輸入任何東西,但我需要知道他們是否打「取消」或 「確定」鍵入的東西后,我需要中止「取消」 。

回答

1

你不能,除了checking the string length

如果用戶單擊取消,則返回零長度的字符串。

所以,如果你想能夠區分點擊取消按鈕和用戶剛剛輸入一個空字符串的事實,你是運氣不好。

但是有很多自定義實現,like this one on codeplex,這將返回DialogResult

+0

這裏存在的問題,我認爲,好像用戶不輸入任何信息,我需要告訴他們,他們不能進行沒有輸入值。所以,如果他們打好了,沒有任何價值,我不能區分這和按下取消按鈕。如果這有道理? – Derek

+1

@Derek是的,這是'Interaction.InputBox'的問題。更好地使用[這一個](http://inputbox.codeplex.com/)。 – sloth

+0

我決定自己控制,而不是使用codeplex的控件。感謝您的幫助。 – Derek