標題:
[發問]
[發問]關於 動態新增元件的程式碼重複區域問題
[打印本頁]
作者:
mark15jill
時間:
2013-2-1 15:52
標題:
[發問]關於 動態新增元件的程式碼重複區域問題
問題敘述:
新增動態元件,有時候必須設定該元件之相關設定(如:位置、大小、顏色..等)
會造成一些原始代碼的重複(如下列原始碼的 .Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型 )
如果元件為 陣列元件 可以省下不少成式碼 藉此縮短程式運行的時間
相同道理
如果該相同區域有方式代替的話,對於程式運行應該有一定的加分效果。
如 sclab和 sccob 的 .Height 和.width (此兩種為數值)
想請教
1.
.Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
這種不屬於數字和文字的程式碼
是否有方式可以取代?
2.
新增動態元件 是否可將不相同類型的元件( Combobox Textbox Button )
用陣列的方式宣告
原始碼如下:
Dim fontFamily As New FontFamily("微軟正黑體")
With sclab
.Width = (Me.Width) / 6
.Height = 24
.Location = New Point(15, 15)
.BorderStyle = BorderStyle.FixedSingle
.Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
.AutoSize = False
.TextAlign = ContentAlignment.MiddleCenter
End With
With sccob
.Width = (Me.Width) / 3
.Height = sclab.Height
.Location = New Point(sclab.Width + sclab.Location.X + 10, 15)
.Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
.AutoSize = False
End With
With sccob1
.Width = (Me.Width) / 5
.Height = sclab.Height
.Location = New Point(sccob.Width + sccob.Location.X + 10, 15)
.Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
.AutoSize = False
End With
With sctext1
.Width = (Me.Width) / 4.25
.Height = sclab.Height
.Location = New Point(sccob1.Width + sccob1.Location.X + 10, 15)
.BorderStyle = BorderStyle.FixedSingle
.Font = New Font(fontFamily, 16, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
.AutoSize = False
'.TextAlign = ContentAlignment.MiddleCenter
End With
With lab3x '顯示結果
.Height = sclab.Height + 20
.Width = (sctext1.Width + sctext1.Location.X) - sclab.Location.X
.Location = New Point(sclab.Location.X, sclab.Height + sclab.Location.Y + 10)
.BorderStyle = BorderStyle.FixedSingle
.Font = New Font(fontFamily, 14, FontStyle.Regular, GraphicsUnit.Pixel) ' 字體、大小、類型
.AutoSize = False
.TextAlign = ContentAlignment.MiddleCenter
End With
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)