C#自己没有Inputbox这个类,但是Inputbox也蛮好用的,所以有两种方法可以使用
一:间接调用vb中的Inputbox功能
1。在项目中添加对Microsoft.VisualBasic引用
2。在项目中添加命名空间Using Microsoft.VisualBasic;
3。以后就可以直接使用VB中的好多类库(爽啊……)
例如:textBox1.Text=Microsoft.VisualBasic.Interaction.InputBox(“提示性文字”, “对话框标题”, “默认值”, X坐标, Y坐标);
上面的 X坐标, Y坐标 可以取值为 –1 和 -1,表示屏幕中间位置显示。
二:还可以自己写一个InputBox()这个函数。动态生成一个FORM以及TEXTBOX和BUTTON等,确定好位置,返回用户输入的字符串。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
public partial class InputBox : Form { private InputBox() { InitializeComponent(); } public String getValue() { return textBox1.Text; } public static bool Show(String title,String inputTips, bool isPassword, ref String value) { InputBox ib = new InputBox(); if (title != null ) { ib.Text = title; } if (inputTips != null ) { ib.label1.Text = inputTips; } if (isPassword) { ib.textBox1.PasswordChar = '*' ; } if (ib.ShowDialog()==DialogResult.OK) { value = ib.getValue(); ib.Dispose(); return true ; } else { ib.Dispose(); return false ; } } } |
使用方法
1
2
3
4
5
6
|
String value; if (InputBox.Show( "用户输入" , "密码:" , true , ref value)) { //输入成功后的操作 } |