返回首页

{A}{S0}
简介
本文指导你如何创建带有圆角的形式。本文是为那些想创建圆角的形式,相反,这些常规形式,有益的,但​​被卡住,无法理解怎么做?现在,有没有必要恐慌。这个项目将告诉你如何使一个程序,创建一个带有圆角的形式。让您的形式与别人不同,改变的方式,看看你的应用程序向用户提出上诉。 使用代码主要编码
首先启动一个新项目,选择窗口形式的应用程序,它保存为quot; sampleprogramquot;您将看到创建一个表单被命名为quot; Form1.vbquot,它重命名为quot; frmmainquot;在Solution Explorer(如果你还没有找到解决方案资源管理器,然后从菜单quot;查看- GT;解决方案Explorerquot ;另外,你也可以使用快捷键,即CTRL ALT大号)。双击frmmain.vb看到"设计"视图。现在,在继续之前,设置frmMain的"形式"的下列属性:MaximizeBox:假MinimizeBox:假StartPosition:CenterScreen大小:500500FormBorderStyle:无
现在,点击上quot;查看Codequot; frmMain的paint方法中写入以下代码
即。写子程序quot; frmmain_Paintquot;

Public Class frmmain



    Private Sub frmmain_Paint(ByVal sender As Object, _

    ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

        Dim gp As New System.Drawing.Drawing2D.GraphicsPath

        If cirOrec = 0 Then 'If Rounded Rectangle is selected



            If intval = 0 Then 

                intval = 200

            End If



        Dim chgcorn As Integer = intval  'Change the value and get the 

        'desired Rounded corner, 

        'keep in mind that the value should be divisible by 10.



        ' check whether the entered number is divisible by 10 or not, 

        ' if not then make it.

        If chgcorn Mod 10 <> 0 Then

            chgcorn = chgcorn - (chgcorn Mod 10)

        End If



        Dim r1 As New Rectangle(0, Me.Height - chgcorn, chgcorn, chgcorn)

        Dim r2 As New Rectangle(Me.Width - chgcorn + 1, _

			Me.Height - chgcorn, chgcorn, chgcorn)



        'creating the upper Arc

        gp.AddArc(0, 0, chgcorn, chgcorn, 180, 90)

        gp.AddArc(Me.Width - chgcorn + 1, 0, chgcorn, chgcorn, 270, 90)



        'Creating the Body

        gp.AddRectangle(New Rectangle(0, chgcorn / 2, Me.Width, Me.Height - chgcorn))



        'Creating the lower Arc

        gp.AddArc(r1, -270, 90)

        gp.AddArc(r2, 360, 90)



        Me.BackColor = Color.Black

	   Else              'If Circular form type is selected

            If intval = 0 Then

                intval = Me.Width

            End If

            If intval2 = 0 Then

                intval2 = Me.Height

            End If

            gp.AddEllipse(New Rectangle(0, 0, intval, intval2))

            Me.BackColor = Color.IndianRed

        End If

        Region = New Region(gp)

    End Sub



   'Now code for closing the Form1 



   Private Sub frmmain_Click(ByVal sender As System.Object, _

		ByVal e As System.EventArgs) Handles Button1.Click

	Me.close()

    End Sub

End Class

...

注意:选择你要创建从ComboBox的表格类型。圆角矩形的形式,输入的弧度值,点击创建按钮。
{S2}通告的形式,进入的高度和宽度,并打造成"按钮。

但是,该值应低于400,因为我给自己定的形式尺寸500 X 500。
完整的代码,下载源代码。动机
发布这篇文章的动机是为了帮助那些想创建圆角形式,但他们没有得到任何help.nbsp;我搜索在互联网上,并没有得到任何想要的结果(许多网站显示四舍五入只在上部的形式,即,只有左上角和右上角的角落的角落,但下部的表格?)。该项目显示了所有四个角落圆角形式。历史五月十八日,2011年:战后初期5月19日,2011年:文章更新 - 随着这些变化,你只需要改变chgcorn价值和所有的四个角将四舍五入。六月十日,2011年:第二十更新

回答

评论会员:会员8004560 时间:2012/01/27
我想创造一个iPad看起来很像是固定大小的圆边计划,我如何获得圆角矩形的角落,我在VB.NET的Form1(ListBox的选项),而不使用选择提示
评论会员:hassanoor 时间:2012/01/27
标准模块放在下面的代码
即使全球
{C}
现在,从表单的Paint事件中调用这个子程序,要四舍五入的角落。
例如:


Private Sub frmmain_Paint(ByVal sender As Object, _

    ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

     Roundcorn(Me)

End Sub



希望这可以帮助你
评论会员:。AspDotNetDev 时间:2012/01/27
本文有一个标签"的WebForms"。这是指网页(HTML,ASP.NET)。您可能意味着"Windows窗体"
[
评论会员:Naerling 时间:2012/01/27
的代码,它做什么。文章本身是有点短,而不是非常有帮助的,但。什么是一个GraphicsPath的一个地区,他们做什么呢?图形对象是什么,为什么要使用Paint事件,怎么你一个你如何使用它呢?这是我想看到如本文所涉及的问题。

投3中。
这是一个面向对象的世界
评论会员:。AspDotNetDev 时间:2012/01/27
。Naerling写道:投3中

有趣的。你投了3?我没有看到一个"我的3票,"从你的消息。也许这是另一种错误的实例,在投票的消息没有得到公布。
[
评论会员:Naerling 时间:2012/01/27
是啊,是。没有给多想,它只是转贴我的消息。
我已经阅读您的文章有关的错误一节中的这些问题,所以我以为他们很快会得到固定
这是一个面向对象的世界
评论会员:。Skif 时间:2012/01/27
A)它会很高兴地看到了这些形式的实际应用。

二)互联网是臃肿的"自定形状形式",他们几乎是一个前沿。

例如:

http://msdn.microsoft.com/en-us/library/aa289517(V = VS.71)。ASPX

在CodeProject上的文章太。

让我们不转贴在CodeProject上的整个MSDN
评论会员:After2050 时间:2012/01/27
你应该更好地改变标题为"创建圆角Windows窗体"。形式是如此通用
评论会员:。CIDev 时间:2012/01/27
。有点短的文章,但显然很好的例子写
仅仅因为代码的工作,但这并不意味着它是良好的代码
评论会员:。EscKey2004 时间:2012/01/27

评论会员:EdMan196 时间:2012/01/27
我下投票后,因为这是一个贫穷的文章已链接到您的链接是不是直接,它会通过一个奇怪的链接网站??潜在的恶意的人可能会怀疑...