实例说明
由于触摸屏没有键盘,只能利用屏幕操作。如果要输入数据或查找数据,需要制作一个虚拟键盘,以方便用户输入。本例介绍如何实现虚拟键盘的程序设计。运行本例,效果如图1.28所示。
技术要点
本例中用到了Lable控件的透明属性和字符串截取技术。主要是使用Substring()方法。下面详细介绍一下该方法。
Substring()方法用来从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。其语法结构如下:
public string Substring (int startIndex,int length)
参数说明如下。
l startIndex:子字符串起始位置的索引。
l length:子字符串中的字符数。
l 返回值:一个String,等于此实例中从startIndex开始的长度为length的子字符串,如果startIndex等于此实例的长度且length为零,则为Empty。
实现过程
(1)创建一个项目,将其命名为Ex01_28,默认窗体为Form1。
(2)在窗体上添加2个Panel控件,1个TextBox控件和许多Label控件,每个Label控件对应背景图片上的1个按钮。
(3)为Panel控件添加背景图片,并将Label控件的BackColor设置为透明。
(4)主要程序代码。
private void Form1_Load(object sender, EventArgs e)
{
lbl_0.Click += new EventHandler(lbl_Click);
lbl_1.Click += new EventHandler(lbl_Click);
lbl_2.Click += new EventHandler(lbl_Click);
lbl_3.Click += new EventHandler(lbl_Click);
lbl_4.Click += new EventHandler(lbl_Click);
lbl_5.Click += new EventHandler(lbl_Click);
lbl_6.Click += new EventHandler(lbl_Click);
lbl_7.Click += new EventHandler(lbl_Click);
lbl_8.Click += new EventHandler(lbl_Click);
lbl_9.Click += new EventHandler(lbl_Click);
lbl_Q.Click += new EventHandler(lbl_Click);
lbl_W.Click += new EventHandler(lbl_Click);
lbl_R.Click += new EventHandler(lbl_Click);
lbl_E.Click += new EventHandler(lbl_Click);
lbl_T.Click += new EventHandler(lbl_Click);
lbl_Y.Click += new EventHandler(lbl_Click);
lbl_U.Click += new EventHandler(lbl_Click);
lbl_I.Click += new EventHandler(lbl_Click);
lbl_O.Click += new EventHandler(lbl_Click);
lbl_P.Click += new EventHandler(lbl_Click);
lbl_A.Click += new EventHandler(lbl_Click);
lbl_S.Click += new EventHandler(lbl_Click);
lbl_D.Click += new EventHandler(lbl_Click);
lbl_F.Click += new EventHandler(lbl_Click);
lbl_G.Click += new EventHandler(lbl_Click);
lbl_H.Click += new EventHandler(lbl_Click);
lbl_J.Click += new EventHandler(lbl_Click);
lbl_K.Click += new EventHandler(lbl_Click);
lbl_L.Click += new EventHandler(lbl_Click);
lbl_Z.Click += new EventHandler(lbl_Click);
lbl_X.Click += new EventHandler(lbl_Click);
lbl_C.Click += new EventHandler(lbl_Click);
lbl_V.Click += new EventHandler(lbl_Click);
lbl_B.Click += new EventHandler(lbl_Click);
lbl_N.Click += new EventHandler(lbl_Click);
lbl_M.Click += new EventHandler(lbl_Click);
label44.Click += new EventHandler(label44_Click);
}
将选中的数字或字母加入TextBox.Text的实现代码如下:
void lbl_Click(object sender, EventArgs e)
{
Label l = (Label)sender;
textBox1.Text += l.Name.Substring(4, 1);
textBox1.SelectionStart = textBox1.Text.Length;
}
举一反三
根据本实例,读者可以实现以下程序。
制作注册控件的程序。
制作网络程序复制的程序。
1.8 窗 体 效 果
本节主要是对窗体的透明度、颜色渐变、背景及边框的相关技术进行讲解。在项目开发中窗体的设计会影响用户对软件的整体印象,所以窗体的效果要设计的美观一些。下面将介绍一些常用的效果。