C#中调用VB中Inputbox类的实现方法

时间:2022-06-27 00:20:07

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))
{
  //输入成功后的操作
}