制作Windows XP控制面板。 制作Windows XP开始导航菜单。 实例019 以图形按钮显示的界面 实例说明
菜单和工具栏虽然能方便用户操作程序的相应功能,但各有缺点。如果采用按钮式功能菜单,不但美观大方,而且操作灵活。当单击按钮时,用户区将显示相应的操作按钮组。下面介绍图形界面式菜单的设计方法。运行本例,效果如图1.19所示。
图1.19 以图形按钮显示的界面
技术要点
本例中用到了Image.FromFile方法和PictureBox.Image属性,下面详细介绍一下。 (1)Image.FromFile方法:从指定的文件创建Image。该函数的结构为: public static Image FromFile (string filename) 参数说明如下。
l filename:当前目录的指定路径字符串,包含要从中创建Image的文件的名称。 l 返回值:此方法创建的Image。
(2)PictureBox.Image属性:获取或设置PictureBox显示的图像。其属性结构为: public Image Image { get; set; } l 属性值:要显示的Image。
注意:在本例中不易使窗体最大化。如最大化,会使Label控件不在正确的位置上。 实现过程
(1)创建一个项目,将其命名为Ex01_19,默认窗体为Form1。
(2)在Form1窗体上添加MenuStrip控件用来设计菜单;添加Picture控件、Panel控件用来设计图形显示的界面。
(3)将panel的背景图片设置为图1.19所示,并在图片上添加Label控件,同时将Label控件的BackColor属性设置为transparency。 (4)主要程序代码。
private void label1_Click(object sender, EventArgs e)
{
pictureBox3.Image= Image.FromFile(\为控件加载图像 } 举一反三
根据本实例,读者可以实现以下功能。 制作图片的动态更新。 制作一个图片浏览器。 实例020 以树形显示的程序界面 实例说明
以树形来显示程序的菜单,可以更直观更快捷的对软件进行操作。树形菜单比菜单栏更加美观实用。下面介绍树形界面菜单的设计方法。运行本例效果如图1.20所示。
图1.20 以树形显示的程序界面
技术要点
在对TreeView控件输入记录时,双击Nodes属性就可以对TreeView的节点进行设置。 可以在窗体的Load事件中输入下面的一条命令: treeView1.ExpandAll();
功能:展开TreeView控件中所有的下级菜单。 实现过程
(1)创建一个项目,将其命名为Ex01_20,默认窗体为Form1。
(2)在窗体上添加MenuStrip控件用来设计菜单栏,添加PictureBox控件用来显示图片,添加TreevVew控件用来设计左侧树形导航界面。
(3)为PictureBox添加背景图片,给MenuStrip控件和TreevVew控件添加子项。 (4)主要程序代码。
private void Form1_Load(object sender, EventArgs e) {
treeView1.ExpandAll(); }
举一反三
根据本实例,读者可以实现以下功能。
制作一个动态的从数据库中读取数据的树型界面。 制作一个带图标的树型界面。 实例021 动态按钮的窗体界面 实例说明
在窗体界面中,通常以按钮来代替菜单栏的功能,这种形式虽然给用户一种直观,界面风格各异的感党,但通常按钮都是以静止的形式显示,如果使光标移到按钮时,可以使按钮上的图片和文字说明动态化,使用户快捷地找到所选按钮。这样就需要一个动态的按钮显示界面。运行本例效果如图1.21所示。
图1.21 动态按钮的窗体界面
技术要点
在编辑过程中,首先在Button控件中的Image属性中添加图片,然后将Button控件的ImageAlign属性设置为MiddleCenter,使图片居中。在设置Button控件的动态图片时,必须在相应控件的MouseMove事件中设置。 1.Button.Image属性
获取或设置显示在按钮控件上的图像,其语法格式如下: public Image Image { get; set; }
l 属性值:按钮控件上显示的Image。默认值为空引用。 2.Button. ImageAlign属性
获取或设置按钮控件上的图像对齐方式,其语法格式如下: public ContentAlignment ImageAlign { get; set; }
l 属性值:ContentAlignment值之一。默认值为MiddleCenter。 注意:当鼠标移开Button控件时,图片与字应及时恢复原位。 实现过程
(1)创建一个项目,将其命名为Ex01_21,默认窗体为Form1。
(2)在Form1窗体上添加PictureBox用来显示图片,添加Button、Lable控件用来设计动态按钮。
(3)为PictureBox控件设置背景图片,将Lable控件的Text属性设置为“明日科技有限公司”,并为每个Button控件设置图片和文字。 (4)主要程序代码。
private void button1_MouseMove(object sender, MouseEventArgs e) {
//鼠标移动时改变图片位置
button1.ImageAlign = ContentAlignment.MiddleLeft; }
private void button2_MouseMove(object sender, MouseEventArgs e) {
button2.ImageAlign = ContentAlignment.MiddleLeft; }
private void button3_MouseMove(object sender, MouseEventArgs e) {
button3.ImageAlign = ContentAlignment.MiddleLeft; }
private void button4_MouseMove(object sender, MouseEventArgs e) {
button4.ImageAlign = ContentAlignment.MiddleLeft; }
private void button5_MouseMove(object sender, MouseEventArgs e) {
button5.ImageAlign = ContentAlignment.MiddleLeft; }
private void button1_MouseLeave(object sender, EventArgs e) {
button1.ImageAlign = ContentAlignment.MiddleCenter;
}
//鼠标离开时改变图片位置
private void button2_MouseLeave(object sender, EventArgs e) {
button2.ImageAlign = ContentAlignment.MiddleCenter; }
private void button3_MouseLeave(object sender, EventArgs e) {
button3.ImageAlign = ContentAlignment.MiddleCenter; }
private void button4_MouseLeave(object sender, EventArgs e) {
button4.ImageAlign = ContentAlignment.MiddleCenter; }
private void button5_MouseLeave(object sender, EventArgs e) {
button5.ImageAlign = ContentAlignment.MiddleCenter; }
private void button6_MouseMove(object sender, MouseEventArgs e) {
button6.ImageAlign = ContentAlignment.MiddleLeft; }
private void button6_MouseLeave(object sender, EventArgs e) {
button6.ImageAlign = ContentAlignment.MiddleCenter; } 举一反三