C#中调用VB中Inputbox功能

  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等,确定好位置,返回用户输入的字符串。


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;
            }
        }
    }

使用方法

String value;

if (InputBox.Show("用户输入", "密码:", true, ref value))
 {
        //输入成功后的操作
 }

你可能感兴趣的:(C#,技术及细节)