方法一

在.NET Framework中并没有类似VB中的InputBox函数,虽然可以借助对VB 的Runtime引用,以在VB除外的.NET程序中使用VB的InputBox,但是为什么不自己写一个类实现类似的功能呢?

下面一个类实现了类似的InputBox函数的功能:

using System;
using System.Windows.Forms;namespace Input
{/// <summary>/// clsInputBox 的摘要说明。/// </summary>public class InputBox : System.Windows.Forms.Form{private System.Windows.Forms.TextBox txtData;private System.Windows.Forms.Label lblInfo;private System.ComponentModel.Container components = null;private InputBox(){InitializeComponent();}protected override void Dispose(bool disposing){if (disposing){if (components != null){components.Dispose();}}base.Dispose(disposing);}private void InitializeComponent(){this.txtData = new System.Windows.Forms.TextBox();this.lblInfo = new System.Windows.Forms.Label();this.SuspendLayout();// // txtData// this.txtData.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));this.txtData.Location = new System.Drawing.Point(19, 8);this.txtData.Name = "txtData";this.txtData.Size = new System.Drawing.Size(317, 23);this.txtData.TabIndex = 0;this.txtData.Text = "";this.txtData.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtData_KeyDown);// // lblInfo// this.lblInfo.BackColor = System.Drawing.SystemColors.Info;this.lblInfo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;this.lblInfo.FlatStyle = System.Windows.Forms.FlatStyle.System;this.lblInfo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));this.lblInfo.ForeColor = System.Drawing.Color.Gray;this.lblInfo.Location = new System.Drawing.Point(19, 32);this.lblInfo.Name = "lblInfo";this.lblInfo.Size = new System.Drawing.Size(317, 16);this.lblInfo.TabIndex = 1;this.lblInfo.Text = "[Enter]确认 | [Esc]取消";// // InputBox// this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(350, 48);this.ControlBox = false;this.Controls.Add(this.lblInfo);this.Controls.Add(this.txtData);this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;this.Name = "InputBox";this.Text = "InputBox";this.ResumeLayout(false);}//对键盘进行响应private void txtData_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e){if (e.KeyCode == Keys.Enter){this.Close();}else if (e.KeyCode == Keys.Escape){txtData.Text = string.Empty;this.Close();}}//显示InputBoxpublic static string ShowInputBox(string Title, string keyInfo){InputBox inputbox = new InputBox();inputbox.Text = Title;if (keyInfo.Trim() != string.Empty)inputbox.lblInfo.Text = keyInfo;inputbox.ShowDialog();return inputbox.txtData.Text;}}}

直接调用该类的静态方法ShowInputBox就可以,其中Title参数是对话框的Text,keyInfo参数是标签lblInfo(可以显示自定义的信息)的Text。具体调用如下:

private void button_Click(object sender, System.EventArgs e){//Microsoft.VisualBasic.Interaction.InputBox(  "type  your  name  ",  "input  ","",0,0); //可以将你要显示的文本信息代替下面的string.Empty。string inMsg= Input.InputBox.ShowInputBox("输入信息",string.Empty );//对用户的输入信息进行检查if (inMsg.Trim() != string.Empty ){MessageBox.Show(inMsg);}else{MessageBox.Show("输入为string.Empty");}}

方法二

VB中的原来的函数库,部分进入了 Microsoft.VisualBasic.Interaction 中,例如: InputBox, MsgBox 就是了。

在C#使用 InputBox,当然可以自己实现, 其实就是一个 Form 而已,我更推荐使用VB.NET里面的,嘿嘿,使用方法:

1. 添加 Microsoft.VisualBasic 的引用

2. string str = Microsoft.VisualBasic.Interaction.InputBox(“提示性文字”, “对话框标题”, “默认值”, X坐标, Y坐标);

上面的 X坐标, Y坐标 可以取值为 –1 和 -1,表示屏幕中间位置显示。

转载于:https://www.cnblogs.com/PocketZ/archive/2010/04/30/1724485.html

C#中的InputBox相关推荐

  1. Winform知识扩展-------右键菜单与InputBox弹出式输入框

    一.右键菜单 右键菜单,winform控件ContextMenuStrip,即上下文菜单 下面举例在ListBox控件中点击右键,出现上下文菜单: 1. 准备好一个ListBox和里面的数据: 2.从 ...

  2. GNU Make 使用手册(于凤昌中译版)

    GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...

  3. 福建省2013高职单招计算机类试题,13年福建-高职单招-计算机类试题及答案.doc

    计算机类专业基础知识试题 第Ⅰ卷 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确的字母标号填涂在答题卡相应在位置上,每小题3分,共120分) 世界上第一台计算机(ENIAC)诞生的时 ...

  4. 201803考试批次2C 程序设计语言,201803考试批次2可视化程序设计(VB)D卷

    201803考试批次2可视化程序设计(VB)D卷 2018-12-15 903 201803考试批次2可视化程序设计(VB)D卷 可视化程序设计(VB) 一 .单项选择题 (共 10 题.0 / 20 ...

  5. 2013福建高职单招计算机类专业,福建省2013高职单招计算机类试题及答案.doc

    福建省2013高职单招计算机类试题及答案 计算机类专业基础知识试题 第Ⅰ卷 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确的字母标号填涂在答题卡相应在位置上,每小题3分,共120分) ...

  6. C#实现图标批量下载

    本文略微有些长,花了好几晚时间编辑修改,若在措辞排版上有问题,请谅解.本文共分为四篇,下面是主要内容,也是软件开发基本流程. 阶段 描述 需求分析 主要描述实现本程序的目的及对需求进行分析,即为什么要 ...

  7. Excel VBA 学习总结 - 数据验证与正则表达式

    数据结构有云:程序=数据+操作.从中可以看出,数据才是程序的核心对象,每个程序所有的操作和意图都是围绕数据展开的.每个程序的结构基本都分为三个部分:输入,处理,输出.输入是接收用户的数据,处理过程是通 ...

  8. 【学习笔记】别怕,EXCELVBA其实很简单(第2版)

    Excel VBA,没你想的那么难 第一章 概述 介绍了VBA的作用:减少无脑地重复性Excel操作 宏的录制:开发工具->录制宏(可设置快捷键)->使用相对引用->操作->停 ...

  9. access vba函数

    access vba函数 Abs 函数 返回参数的绝对值,其类型和参数相同. 语法 Abs(number) 必要的 number 参数是任何有效的数值表达式,如果 number 包含 Null,则返回 ...

  10. Visual Biasc 函数速查

    Calendar 常数 可在代码中的任何地方用下列常数代替实际值: 常数 值 描述 vbCalGreg 0 指出使用的是阳历. vbCalHijri 1 指出使用的是伊斯兰历法. Color 常数 可 ...

最新文章

  1. 实验吧--web--天下武功唯快不破
  2. python基础--GIL全局解释器锁、Event事件、信号量、死锁、递归锁
  3. python实验四_python实验四
  4. 虚拟专题:知识图谱 | 频谱知识图谱:面向未来频谱管理的智能引擎
  5. 存储过程系列之存储过程返回值总结
  6. 腾讯悄悄地发布了Linux版QQ-附安装-卸载方法
  7. matlab图像拼接 设计,MATLAB图像拼接算法及实现.doc
  8. 【拆解】便携示波器怎么选?
  9. 【GIS】夜光遥感数据时序分析
  10. 萤石云开放平台java_萤石云控制代码
  11. python特殊字符替换
  12. html怎样修改背景图片大小,css中如何设置背景图片的大小?
  13. Android 实现动态背景“五彩蛛网”特效,让你大开眼界!
  14. Vim 编辑器真的 yyds
  15. EndNote实现章节后插入参考文献的方法
  16. 服务器系统崩溃真是惊险刺激,guanjunjc
  17. 爬取今日头条收藏夹文章列表信息
  18. (Note)夜光藻赤潮
  19. epoll_create1与epoll_create区别
  20. mt6582 pwm

热门文章

  1. 一级域名是什么?和二级域名有什么区别?
  2. Ubuntu 的千千静听
  3. stm32f103c8t6使用LORA传输数据
  4. 阿兹卡班(azikaban)报错:syntax error:unexpected end of file
  5. Exchange2010启用反垃圾邮件功能
  6. Linux下进行rar文件解压和压缩
  7. 台式计算机如何自动开关机,联想电脑怎么设置定时开机|联想台式机自动开机设置方法...
  8. 2022年最全快手市场研报合集(共61份)
  9. Syclover-Web题解
  10. 2016年东莞市小学生信息学竞赛试题 17倍