vb.net GDI窗体

在窗体中添加一个ContextMenu1控件

 

Imports System.Drawing.Drawing2D

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows 窗体设计器生成的代码 "

    Public Sub New()
        MyBase.New()

        '该调用是 Windows 窗体设计器所必需的。
        InitializeComponent()

        '在 InitializeComponent() 调用之后添加任何初始化

    End Sub

    '窗体重写处置以清理组件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Windows 窗体设计器所必需的
    Private components As System.ComponentModel.IContainer

    '注意:以下过程是 Windows 窗体设计器所必需的
    '可以使用 Windows 窗体设计器修改此过程。
    '不要使用代码编辑器修改它。
    Friend WithEvents ContextMenu1 As System.Windows.Forms.ContextMenu
    Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem
    Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
        Me.ContextMenu1 = New System.Windows.Forms.ContextMenu
        Me.MenuItem1 = New System.Windows.Forms.MenuItem
        Me.MenuItem2 = New System.Windows.Forms.MenuItem
        Me.MenuItem3 = New System.Windows.Forms.MenuItem
        Me.MenuItem4 = New System.Windows.Forms.MenuItem
        Me.MenuItem5 = New System.Windows.Forms.MenuItem
        Me.MenuItem6 = New System.Windows.Forms.MenuItem
        Me.MenuItem7 = New System.Windows.Forms.MenuItem
        Me.SuspendLayout()
        '
        'ContextMenu1
        '
        Me.ContextMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem2, Me.MenuItem3, Me.MenuItem4, Me.MenuItem5, Me.MenuItem6, Me.MenuItem7})
        '
        'MenuItem1
        '
        Me.MenuItem1.Index = 0
        Me.MenuItem1.Text = "椭圆"
        '
        'MenuItem2
        '
        Me.MenuItem2.Index = 1
        Me.MenuItem2.Text = "扇形"
        '
        'MenuItem3
        '
        Me.MenuItem3.Index = 2
        Me.MenuItem3.Text = "圆形"
        '
        'MenuItem4
        '
        Me.MenuItem4.Index = 3
        Me.MenuItem4.Text = "环形"
        '
        'MenuItem5
        '
        Me.MenuItem5.Index = 4
        Me.MenuItem5.Text = "三角"
        '
        'MenuItem6
        '
        Me.MenuItem6.Index = 5
        Me.MenuItem6.Text = "恢复矩形"
        '
        'MenuItem7
        '
        Me.MenuItem7.Index = 6
        Me.MenuItem7.Text = "退出"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(14, 37)
        Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image)
        Me.ClientSize = New System.Drawing.Size(344, 304)
        Me.ContextMenu = Me.ContextMenu1
        Me.Font = New System.Drawing.Font("Arial Narrow", 24.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem1.Click, MenuItem2.Click, MenuItem3.Click, MenuItem4.Click, MenuItem5.Click, MenuItem6.Click, MenuItem7.Click

        Dim p As GraphicsPath = New GraphicsPath()

        Select Case CType(sender, MenuItem).Text
            Case "椭圆"

                Dim Width As Integer = Me.ClientSize.Width
                Dim Height As Integer = Me.ClientSize.Height
                p.AddEllipse(0, 20, Width - 50, Height - 100)
                
                '根据要绘制椭圆的形状来填写AddEllipse方法中椭圆对应的相应参数

            Case "扇形"
                p.AddPie(10, 10, 250, 250, 5, 150)
                '根据要实现的扇形形状来填写AddPie方法中的相应参数

            Case "圆形"
                Dim Width As Integer = Me.ClientSize.Width
                Dim Height As Integer = Me.ClientSize.Height
                p.AddEllipse(0, 0, Height, Height)
                '圆形即是椭圆的一种特例,

            Case "环形"
                Dim Height As Integer = Me.ClientSize.Height
                Dim width As Integer = 100
                p.AddEllipse(0, 0, Height, Height)
                'p.AddRectangle(New Rectangle(width, width, width, width))
                p.AddEllipse(width, width, Height - (width * 2), Height - (width * 2))
                '根据环形的形状来分别填写AddEllipse方法中相应的参数

            Case "三角"
                p.AddLine(0, 0, 250, 150)
                p.AddLine(250, 150, 0, 300)
                p.AddLine(0, 0, 0, 300)
                '根据三角形的形状特征来分别填写AddLine方法中相应的参数


            Case "恢复矩形"
                p.AddRectangle(New Rectangle(0, 0, Me.Width, Me.Height))
                '用窗体尺寸矩形填充addrectangle()方法

            Case "退出"
                Close()
        End Select
        '设置窗体的外形
        Me.Region = New Region(p)

    End Sub

    Private Sub ContextMenu1_Popup(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContextMenu1.Popup

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VB.Net是一种面向对象的编程语言,可用于Windows窗体控件的开发。它是Visual Basic语言的后继版本,具有更强大的功能和更多的控件选择。 VB.Net提供了丰富的控件库,使开发者能够轻松创建各种类型的窗体控件。例如,可以使用按钮、文本框、标签、列表框、下拉框等控件来构建用户界面。这些控件可以通过简单的拖放和设置属性进行布局和配置。 VB.Net还提供了各种事件处理机制,使开发者能够对控件的交互行为做出反应。例如,可以编写代码来响应按钮的点击事件、文本框的值变化事件等。通过这些事件处理程序,可以实现各种功能,如验证用户输入、更新界面数据等。 此外,VB.Net还支持数据绑定功能,使开发者能够将控件与数据源进行关联。通过数据绑定,可以实现对数据库、文件或其他数据源的访问和操作。这使得开发者能够轻松地将数据显示在控件中,以及将用户的输入保存到数据源中。 VB.Net还具有丰富的图形和绘图功能,可以创建各种精美的界面效果。开发者可以使用绘图对象和方法来自定义控件的外观和行为。VB.Net还支持图形效果、动画效果和过渡效果等高级界面特性,以提升用户体验。 总之,VB.Net是一种强大的编程语言,适用于Windows窗体控件的开发。它提供了丰富的控件库、事件处理机制、数据绑定功能和图形绘制功能,使开发者能够轻松创建功能强大、界面美观的Windows应用程序。 ### 回答2: VB.NET是一种用于Windows平台上的编程语言,它可以用于开发各种类型的应用程序,包括Windows窗体应用程序。 Windows窗体应用程序是一种图形用户界面(GUI)应用程序,它使用窗体和控件来与用户交互。VB.NET提供了丰富的控件库,可以轻松地创建各种类型的控件,如按钮、文本框、标签、列表框等。 在VB.NET中,我们可以使用“拖放”方式将控件添加到窗体上,并通过属性窗口来设置控件的属性,如大小、位置、字体、颜色等。我们还可以使用事件处理程序来响应用户的操作,例如单击按钮时执行某个操作。 通过VB.NET,我们可以进行各种窗体控件的开发。例如,我们可以创建一个简单的登录窗体,包含用户名和密码的文本框以及登录按钮。当用户输入用户名和密码并点击登录按钮时,我们可以编写代码来验证用户的身份,并执行相应的操作,如显示欢迎消息或打开另一个窗体。 此外,VB.NET还支持数据绑定,允许我们将控件与数据源进行连接,从而实现数据的显示和操作。我们可以使用数据绑定来显示数据库中的数据,或者在表单上显示和编辑对象的属性。 总而言之,VB.NET提供了强大的功能和灵活性,使开发者能够轻松地创建各种类型的Windows窗体应用程序,并且可以通过控件、事件处理和数据绑定来实现交互和数据操作。无论是开发简单的用户界面还是复杂的商业应用程序,VB.NET都是一个强大的工具。 ### 回答3: VB.NET是一种基于.NET框架的编程语言,用于开发Windows窗体应用程序。Windows窗体控件开发是通过使用VB.NET语言编写代码来创建和操作各种控件,以实现Windows应用程序的界面和功能。 在VB.NET中,通过拖放控件到设计窗体上,可以快速创建界面。控件包括文本框、标签、按钮、列表框等,可以通过属性窗格对其属性进行设置,比如颜色、字体、大小等。 通过编写VB.NET代码,可以为控件添加事件处理程序,以便在用户与控件进行交互时执行相应的操作。例如,为按钮添加点击事件处理程序,当用户点击按钮时会执行预先定义的操作。 VB.NET还提供了一些内置的控件,如DataGridView控件用于显示和编辑数据表格,Chart控件用于绘制图表,PictureBox控件用于显示图片等等。开发者还可以使用定制化的控件或从第三方库中引入控件,以满足特定需求。 在窗体控件开发中,还可以使用布局控件,如表格布局控件、流式布局控件等,来实现界面设计的灵活性和响应性。 通过VB.NET编写代码,可以对控件进行操作,包括控件的创建、删除、显示和隐藏等。还可以进行数据验证、文本处理、文件读写等操作。 总的来说,VB.NET窗体控件开发提供了丰富的控件和功能,使开发者能够快速创建功能丰富的Windows应用程序,并可以根据需求进行灵活定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值