none
.net 為何沒有像VB6的Line control? RRS feed

  • 問題

  • 請教一下各位先進,

    我想在form上面畫線條,我知道可以用Graphics來畫,但我希望的是line的物件,因為可以被拖拉,點選,設定屬性等等,可是我在 控制項裡面找不到,有誰知道該怎麼做嗎?謝謝指教!

    2007年12月12日 上午 08:41

解答

  • SEE

    http://msdn2.microsoft.com/zh-tw/library/2yscxd11(VS.80).aspx

     

     

    Visual Basic
    ' Visual Basic 2005
    ' Using Label controls.
    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Line1 As New System.Windows.Forms.Label
        Dim Line2 As New System.Windows.Forms.Label
        ' Draw a horizontal line 14 pixels from the top of the form.
        Line1.Location = New System.Drawing.Point(0, 14)
        Line1.Size = New System.Drawing.Size(Me.Width, 1)
        Line1.BorderStyle = BorderStyle.None
        Line1.BackColor = System.Drawing.Color.Red
        Line1.Text = ""
        Controls.Add(Line1)
        ' Draw a vertical line 14 pixels from the left of the form.
        Line2.Location = New System.Drawing.Point(14, 0)
        Line2.Size = New System.Drawing.Size(1, Me.Height)
        Line2.BorderStyle = BorderStyle.None
        Line2.BackColor = System.Drawing.Color.Blue
        Line2.Text = ""
        Controls.Add(Line2)
    End Sub
    
    2007年12月12日 上午 08:47

所有回覆

  • SEE

    http://msdn2.microsoft.com/zh-tw/library/2yscxd11(VS.80).aspx

     

     

    Visual Basic
    ' Visual Basic 2005
    ' Using Label controls.
    Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Line1 As New System.Windows.Forms.Label
        Dim Line2 As New System.Windows.Forms.Label
        ' Draw a horizontal line 14 pixels from the top of the form.
        Line1.Location = New System.Drawing.Point(0, 14)
        Line1.Size = New System.Drawing.Size(Me.Width, 1)
        Line1.BorderStyle = BorderStyle.None
        Line1.BackColor = System.Drawing.Color.Red
        Line1.Text = ""
        Controls.Add(Line1)
        ' Draw a vertical line 14 pixels from the left of the form.
        Line2.Location = New System.Drawing.Point(14, 0)
        Line2.Size = New System.Drawing.Size(1, Me.Height)
        Line2.BorderStyle = BorderStyle.None
        Line2.BackColor = System.Drawing.Color.Blue
        Line2.Text = ""
        Controls.Add(Line2)
    End Sub
    
    2007年12月12日 上午 08:47
  •  

    感謝您的回覆,原本我也是想用label來做,可是輸入width和height都沒效,原來設計階段時AutoSize要設為false才行 @@

    看來也只有這個方法了,感謝!

    2007年12月12日 上午 08:55
  • HI,

     

    我看過有人用GroupBox控制項, 去掉Text屬性的內容, 再壓扁成一條線的高度, 當做線條來用, 還有立體感, 效果還真不賴

     

    tihs

    2007年12月12日 下午 01:15
  • 跟我差不多!

    我是用 Panel 把 height 設定為 4,BorderStyle 設定為 Fixed3D。

     

    2007年12月12日 下午 04:09
  • 你可以看看這篇文章:

    回覆:UI 設計的問題(VB2005)

     

    我在實做的時候,做成 Shape 控制項,在 Type 可選擇 Line / Rect ... 等 (目前用到的才做,還沒用到 Circle 這類),上面那篇的討論做出來的滑鼠拖拉框是這個樣子:

    2007年12月13日 上午 01:17