0

プロパティウィンドウで設定するのではなく、コードを介して .visible/.enabled/etc を呼び出すと、ウィンドウの応答性/メソッドの処理速度のいずれかで速度が低下するのではないかと単純に思っています。フォームのラベルとボタン? たとえば、ラベルを非表示にするなどの明らかな理由がない限り、プロパティを介して設定できる場合、コードを介してこれらのプロパティを設定することは私には意味がありません

4

3 に答える 3

0

フォーム デザイナ ファイルは、すべてのコントロールとコンポーネントに対して次のようなコードで埋められます。

    '
    'Label2
    '
    Me.Label2.AutoSize = True
    Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
    Me.Label2.Location = New System.Drawing.Point(645, 9)
    Me.Label2.Name = "Label2"
    Me.Label2.Size = New System.Drawing.Size(58, 20)
    Me.Label2.TabIndex = 4
    Me.Label2.Text = "Player"

VB6 とは異なり、「実行時コード」と「設計時コード」の間に実際の違いはありません。デザイナーが生成したコードは同じです。テストで設定したプロパティのセットは増分 (余分な) 作業になるため、ストップウォッチで時間を計っても意味がありません。

一連のプロパティを設定するコードは、デザイナーが使用するコードとまったく同じであるため、どちらも他方よりも速く実行されません。サイズまたはフォントの作成時にデザイナー コードで設定できる場合に、サイズまたはフォントをリセットする特別なループを追加する場合を除きます。

于 2013-10-11T21:21:45.553 に答える
0

コントロール プロパティ (visible/enabled) を設定すると、オーバーヘッドが発生します。マイナーかもしれませんが、多くのコントロールでこれをやり始めると、目立つようになるかもしれません。コントロールの数が少ない場合は、そのようなことは心配しません。コントロールの数が多い (または不明な) 場合は、念のため、常にこれを行います。

If Not Label1.Visible then Label1.Visible = True

また

If Label1.Visible then Label1.Visible = False

PAINT イベントでの実際の作業です。これはフラグを設定するだけですが、変更時に発生するイベントがプロパティにある場合、これはますます役立つ可能性があります。

于 2013-10-11T21:36:07.017 に答える