5-about interface


界面设计

对话框的分类:Visual Basic.NET中的对话框分为三种类型,即预定义对话框、自定义对话框和通用对话框。

通用对话框控件
Visual Basic.NET的通用对话框控件共有6种 : 
 OpenFileDialog,SaveFileDialog,FolderBrowserDialog,FontDialog,ColorDialog,PrintDialog,PrintPreviewDialog

打开文件对话框
⒈ 主要属性
⑴ Name属性  
⑵ AddExtension属性
⑶ CheckFileExists属性
⑷ CheckPathExists属性  
⑸ DefaultExt属性
⑹ Title属性  
⑺ FileName属性
⑻ FileNames属性  
⑼ Fileter属性
⑽ FilterIndex属性  
⑾ InitiaDirectory属性
⑿ MultiSelect属性  
⒀ RestoreDirectory属性  
⒁ ShowHelp属性
⒂ ShowReadOnly属性
⒃ ReadOnlyChecked属性

⒉ 方法
⑴ Dispose方法:用来释放被对话框使用的所有资源。
⑵ OpenFile方法:以只读方式打开在对话框中所选择的文件,要打开的文件由FileName属性指定。如果不使用该方法,则必须设置ShowReadOnly和ReadOnlyChecked属性,并在对话框中选择只读复选框。
⑶ ShowDialog方法:显示对话框。用该方法可以显示“打开文件”对话框

3. 事件
⑴ FileOk事件:当用户单击文件对话框中的“打开”按钮时发生该事件。
⑵ HelpRequest事件:当用户单击通用对话框中的“帮助”按钮时发生该事件。注意,为了使用该事件,必须把对话框控件的ShowHelp属性设置为True。

⒋ 打开文件对话框举例
编写程序,建立“打开”对话框,并用该对话框打开指定的文件。
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "通过打开文件对话框打开文件"
        Button1.Text = "选择文件"
        Button2.Text = "执行文件"
        Button3.Text = "退    出"
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ret As Short
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.ShowReadOnly = True
        OpenFileDialog1.ReadOnlyChecked = True
        OpenFileDialog1.InitialDirectory = "c:/"
        OpenFileDialog1.Filter = "All Files |*.*|(*.exe)|*.exe|(*.TXT)|*.TXT"
        OpenFileDialog1.FilterIndex = 2
        OpenFileDialog1.Title = "打开.EXE文件"
        OpenFileDialog1.ShowDialog()
        SelectFile = OpenFileDialog1.FileName

  If SelectFile = "" Then
            ret = MsgBox("没有选择文件", 37, "检查")
            If ret = 2 Then
                Close()
            End If
        Else
            MsgBox("所选择的文件是:" & SelectFile)
        End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim x
        x = Shell(SelectFile, AppWinStyle.NormalFocus)
End Sub
Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
        Close()
End Sub

'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
保存文件对话框
与OpenFileDialog控件不同的属性主要有两个,即CreatPrompt和OverwritePrompt。

编写程序,在格式文本框中显示一些信息,然后用保存文件对话框把该文本框中的内容存入一个文件中。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "通过保存文件对话框保存文件"
        Button1.Text = "保存"
        Button2.Text = "退出"
        Dim S As String
        Dim cl As String = Chr(13) & Chr(10)
        S = " 中南大学校庆" & cl
  S = S & "沧桑巨变五十年," & cl
        S = S & "桃李芬芳硕果甜。" & cl
        S = S & "遥向南郊荒草地," & cl
        S = S & "已成岳麓科教园。" & cl
        RichTextBox1.Text = S
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        SaveFileDialog1.DefaultExt = "DOC"
        SaveFileDialog1.FileName = "Test.doc"
        SaveFileDialog1.Filter = "Word文件(*.doc)|*.TXT|All files(*.*)|*.*"
        SaveFileDialog1.FilterIndex = 1
        SaveFileDialog1.Title = "保存为 .doc文件(*.doc)"
        SaveFileDialog1.InitialDirectory = "E:/"
        SaveFileDialog1.RestoreDirectory = True
        SaveFileDialog1.CheckFileExists = True
        SaveFileDialog1.CreatePrompt = True'''''''''''''''''
        SaveFileDialog1.OverwritePrompt = True''''''''''''''
        SaveFileDialog1.ShowDialog()
      End Sub

 Private Sub SaveFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
        If SaveFileDialog1.ShowDialog = DialogResult.OK Then
            If Trim(SaveFileDialog1.FileName <> "") Then
                RichTextBox1.SaveFile(SaveFileDialog1.FileName)
            End If
        End If
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Close()
  End Sub

'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
其他对话框
⒈ 颜色(Color)对话框
⑴ Name属性:是一个字符串,用来设置颜色对话框控件的名称。
⑵ AllowFullOpen属性:是一个Boolean值,用来确定颜色对话框中“规定自定义颜色按钮”是否有效。
⑶ AnyColor属性
⑷ Color属性:其值为Color结构。
⑸ FullOpen属性
⑹ SolidColorOnly属性
方法:
⑴ ShowDialog方法:显示颜色对话框。
⑵ Reset方法:恢复颜色对话框的默认设置。


用颜色对话框设置背景色。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   ColorDialog1.AllowFullOpen = True
        Me.Text = "颜色对话框"
        Button1.Text = "文本框背景"
        Button2.Text = "窗体背景“
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        ColorDialog1.FullOpen = True
        ColorDialog1.ShowDialog()
        TextBox1.BackColor = ColorDialog1.Color
        Button1.BackColor = ColorDialog1.Color
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        ColorDialog1.FullOpen = True
        ColorDialog1.ShowDialog()
        Me.BackColor = ColorDialog1.Color
        Button2.BackColor = ColorDialog1.Color
End Sub
'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
⒉ 字体(Font)对话框
⑴ Color属性:该属性用来设置所选择的字体的颜色,默认值为Black(黑色)。
⑵ FontMustExit属性
⑶ Font属性
⑷ Maxsize属性
⑸ MinSize属性
⑹ ShowApply属性
⑺ ShowColor属性
⑻ ShowEffects属性
⑼ ShowHelp属性
下方法和事件:
⑴ ShowDialog方法:显示字体对话框。
⑵ Reset方法:恢复字体对话框的默认设置。
⑶ Apply事件:当用户单击字体对话框中的“应用”按钮时触发该事件。


用字体对话框设置文本框中显示的字体。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "字体对话框试验"
        Button1.Text = "设置字体"
        Button2.Text = "退出"
        TextBox1.Text = "用字体对话框设置文本框中的字体"
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        FontDialog1.FontMustExist = True
        FontDialog1.ShowEffects = True
        FontDialog1.ShowColor = True
        FontDialog1.Color = Color.Red
        FontDialog1.ShowDialog()

  If FontDialog1.ShowDialog = DialogResult.OK Then
            TextBox1.Font = FontDialog1.Font
            TextBox1.ForeColor = FontDialog1.Color
        End If
End Sub
Private Sub FontDialog1_Apply(ByVal sender As Object, ByVal e As System.EventArgs) Handles FontDialog1.Apply
        TextBox1.Font = FontDialog1.Font
        TextBox1.ForeColor = FontDialog1.Color
End Sub
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Close()
End Sub
'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
菜单设计
菜单可分为两种基本类型,即弹出式菜单和下拉式菜单,其中弹出式菜单也称为“上下文菜单”(ContextMenu),下拉式菜单也称为“主菜单”(MainMenu)。
⒈ 菜单的属性
⑴ Name属性
⑵ Checked属性
⑶ DefaultItem
⑷ Enabled属性
⑸ Mergeorder属性
⑹ MergeType属性
⑺ RadioCheck属性
⑻ ShortCut属性
⑼ ShowShortCut属性
⑽ Text属性
⑾ Visible属性

⒉ 事件和方法
菜单项常用的事件有两个,即Click和Select, 当把鼠标光标移到菜单项上时,将引发Select事件。
① Add方法:把一个菜单项加到菜单集合中,作为当前菜单项的下一级菜单项。
② Remove方法:该方法用来从菜单项集合中删除指定的菜单项。


菜单控件MainMenu
弹出式菜单控件ContextMenu:为了显示弹出式菜单,必须把弹出式菜单的名称与窗体或所需要的控件相关联,这可以通过窗体或控件的ContextMenu属性来设置。如:TextBox1. ContextMenu=ContextMenu1


设计一个具有算述运算(+、—、×、/)及清除功能的菜单。从键盘上输入两个数,利用菜单命令求出它们和、差、积或商,并显示出来。
(略)

为文本框建立一个弹出式菜单,通过该菜单进行古诗词欣赏。
Dim cl As String = Chr(13) & Chr(10)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TextBox1.Text = ""
        Me.Text = "古诗欣赏"
        TextBox1.ContextMenu = ContextMenu1
End Sub
Private Sub LB_KZX_Select(ByVal sender As Object, ByVal e As System.EventArgs) Handles LB_KZX.Select
        Dim S As String
        S = "该诗是李白于开元十三年(公元725年)准备离蜀漫游时所作。"
        S = S & "诗中通过对明月、江水等的描绘,表达对友人的思念。"
        TextBox1.Text = S
End Sub
Private Sub LB_KZX_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LB_KZX.Click
        Dim S As String
        S = "  峨眉山月歌" & cl & cl
        S = S & "峨眉山月半轮秋," & cl
        S = S & "影入平羌江水流。" & cl
        S = S & "夜发清溪向三峡," & cl
        S = S & "思君不见下渝州。"
        TextBox1.Text = S
End Sub
Private Sub SS_Select(ByVal sender As Object, ByVal e As System.EventArgs) Handles SS.Select
        Dim S As String
        S = "这首诗以赤壁怀古为主题,将奔腾浩荡的大江波涛、"
        S = S & "波澜壮阔的历史风云和千古而来风流人物,酣畅淋漓地"
        S = S & "泼墨挥写于大笔之下,抒发了作者宏伟的政治抱负和豪迈"
        S = S & "的英雄气概。"
        TextBox1.Text = S
End Sub
Private Sub SS_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SS.Click
        Dim S As String
        S = "  念奴娇(赤壁怀古)" & cl & cl
        S = S & "大江东去," & cl & "浪淘尽,千古风流人物。" & cl
        S = S & "故垒西边,人道是、" & cl & "三国周郎赤壁。" & cl
        S = S & "乱石穿空,惊涛拍岸," & cl & "卷起千堆雪。" & cl
        S = S & "江山如画,一时多少豪杰。" & cl
        S = S & "遥想公瑾当年," & cl & "小乔初嫁了,雄姿英发。" & cl
        S = S & "羽扇纶巾,谈笑间、" & cl & "强虏灰飞烟灭。故国神游," & cl
        S = S & "多情应笑我,早生华发。" & cl
        S = S & "人生如梦,一樽还酹江月。" & cl
        TextBox1.Text = S
End Sub
Private Sub MZY_Select(ByVal sender As Object, ByVal e As System.EventArgs) Handles MZY.Select
        Dim S As String
        S = "这首诗以短短的28个字,雕绘出一幅深有诗情的画面"
        S = S & "和感动人心的意境。"
        TextBox1.Text = S
End Sub
Private Sub MZY_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MZY.Click
        Dim S As String
        S = "  天净沙  秋思" & cl & cl
        S = S & "枯藤老树昏鸦," & cl
        S = S & "小桥流水人家," & cl
        S = S & "古道西风瘦马。" & cl
        S = S & "夕阳西下," & cl
        S = S & "断肠人在天涯。"
        TextBox1.Text = S
End Sub
'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------

多重窗体和多文档界面
多重窗体的操作
⒈ 设置窗体的特殊效果
⑴ 指定窗体的启动位置:通过窗体的StartPosition属性来设置 。
⑵ 总在最上面:使用窗体的TopMost属性,可以使窗体保持其可见性,即使在失去焦点后仍然如此。
⑶ 窗体的透明度。:Opacity属性,可用来调整窗体的“透明度” 。

编写程序,用“半透明”窗体显示信息。
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Click
        Me.Opacity = 0.5
        Dim S, CL As String
        CL = Chr(13) & Chr(10)
        S = "月落鸟啼霜满天," & CL
        S = S & "江枫渔火对愁眠。" & CL
        S = S & "姑苏城外寒山寺," & CL
        S = S & "夜半钟声到客船。"
        TextBox1.Text = S
End Sub

⑷ 滚动窗体:AutoScroll属性,可用来滚动窗体 。
⑸ 窗体尺寸:MaximumSize和MinimumSize,可以根据需要设置它们的值。

⒉ 与多重窗体程序设计有关的方法
⑴ Close方法:[窗体名称].Close。关闭指定的窗体,释放窗体所占用的资源
⑵ Show方法:[窗体名称.]Show。Show方法用来显示一个窗体。
⑶ ShowDialog方法:窗体名称.ShowDialog。将窗体显示为没有所有得窗口的模态对话框。
⑷ Hide方法:[窗体名称.]Hide
⑸ Me关键字:代表的是程序代码所在的窗体。
 不能用Form2.Show来显示Form2窗体。这是因为,在Visual Basic.NET中,Form2是一个类名,不是窗体名称,为了引用窗体Form2,必须建立它的实例(instance),通过实例引用窗体:
       Dim Fb As New Form2( )
       Fb.Show( )
       Me.Hide( )
'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
多文档界面

建立一个MDI文本书写器。
Private Sub mnuFileNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuFileNew.Click
        '建立form2的一个新实例,名为newdoc
        Dim newdoc As New Form2
        '设置子窗体的父窗体
        newdoc.MdiParent = Me
        '显示新窗体
        newdoc.Show()
End Sub
Private Sub Form2_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize
        '扩展文本框,使它充满子窗体的内部区域
        TextBox1.Height = Me.Height
        TextBox1.Width = Me.Width
End Sub
'
'--------------------------------------------------------------------------------------------|||无敌分割线|---------
'
工具栏和状态栏
工具栏
在VB.NET中,用ToolBar控件来为窗体添加工具栏。
Private Sub ToolBar1_ButtonClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
        Dim SelectedButtonIndex As Integer
        SelectedButtonIndex = ToolBar1.Buttons.IndexOf(e.Button)
End Sub

可以在设计窗体时直接设计好工具栏按钮,也可以在程序运行以后,用编程的办法在响应某一个事件(比如窗体下载事件frmMain_Load)时调用Add方法来加入工具栏按钮。

 

状态栏
       状态栏用来显示程序运行中一些动态的信息,比如键盘上Caps键的状态,光标在文档中位置等。在VB.NET中,用StatusBar控件为窗体添加状态栏。 状态面板属于类StatusBarPanel 。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值