C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 一番最初にLoadされたControlにだけ実行したいコード


(過去ログ 93 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■55846 / inTopicNo.1)  一番最初にLoadされたControlにだけ実行したいコード
  
□投稿者/ Mira (11回)-(2010/12/15(Wed) 17:28:39)

分類:[VB.NET/VB2005 以降] 

CompositeControlを継承したカスタムコントロールを作成しています

処理速度の改善の為Page内で同じカスタムコントロールが複数使用される時に
内部で共通のコントロールの描画を一つにしたいと思っています

同じカスタムコントロールで一番最初にLoadされたかどうかを検出できれば
共通のコントロールの描画を制御できるのですが
何かよい方法はないでしょうか?

制御したいメソッドはCreateChildControlsとRenderです

環境 FrameWork 2.0
引用返信 編集キー/
■55847 / inTopicNo.2)  Re[1]: 一番最初にLoadされたControlにだけ実行したいコード
□投稿者/ shu (298回)-(2010/12/15(Wed) 17:47:14)
2010/12/15(Wed) 17:47:59 編集(投稿者)
No55846 (Mira さん) に返信

いまひとつ状況が分かりませんが

Public Class 〜
    Private Shared m_blnFlg as boolean = False

    Public Shared Sub FlgReset()
        m_blnFlg = False
    End Sub

    Public Shared Sub OnceExec()   '-- これは特にSharedでなくてもよい
        if m_blnFlg then Exit sub
        〜
        m_blnFlg = True
    End Sub
End Class

とクラスを実装して、最初にクラス.FlgResetを実行、あとはOnceExecを実行すれば
OnceExecの〜部分は一度しか実行されません。

引用返信 編集キー/
■55848 / inTopicNo.3)  Re[2]: 一番最初にLoadされたControlにだけ実行したいコード
□投稿者/ Mira (12回)-(2010/12/15(Wed) 18:15:00)
shuさん ありがとうございます

出来ました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -