none
Lockedプロパティについて RRS feed

  • 質問

  • Formにコントロールを配置して、例えばTextBox。プロパティウィンドウ上で「Locked」プロパティ値

    を変更できますが、この「Locked」プロパティってプロパティウィンドウ上でしか変更できないのでしょうか?

     

    コーディング時のIntellisenseでは、Lockedプロパティって表示されていないようなので。

     

    プロパティウィンドウ上以外で、このLockedプロパティの値って変更(参照)できたりするんでしょうか?

     

    2007年8月4日 13:28

すべての返信

  • こんにちはぶるーのさん。

    Lockedは設計時のみ存在するプロパティです。

    その実現方法は以下のURLが参考になると思います。

     

    https://www.microsoft.com/japan/msdn/net/general/custdsgnrdotnet.aspx

     

    恐らくLockedプロパティの動作をカスタマイズしようとするとカスタムデザイナを作ることになると思います。

    Lockedと関係ありませんが、当方サイトに簡単なカスタムデザイナの例があります。

    ご参考になさってください。

     

    http://www.mahoroba.ne.jp/~mw_ken/netdefaultvalue.html

    2007年8月5日 0:53
  • 質問の追加なのですが、派生したFormで、基底Form上のコントロールのLockedプロパティ値が

    保存されないんですけど、何か作法があるんでしょうか?

     

    基底FormにするFormAを作成。適当にコントロールを配置。(Modifiersプロパティ値は「Protected」)

    派生FormにするFormBをプロジェクトに追加。手動で次の様にコードを変更。

        public partial class FormB : Form


        public partial class FormB : FormA
    と書き換え。

     

    FormB上で、基底Form上のコントロールのLockedプロパティを「true」に変更。

    プロパティ値変更直後は、マウスでコントロールをドラッグしてもコントロールは移動されないのですが、

    ビルド、または、プロジェクトを開きなおすと、Lockedプロパティ値が「false」に戻ってしまいます。

    当然、コントロールも自由に移動できます。

     

    派生Form上では基底Form上のコントロールのロックってできないのでしょうか?

     

     

     

    三輪の牛さん、回答、ありがとうございます。

     

    >http://www.mahoroba.ne.jp/~mw_ken/netdefaultvalue.html

    参考にさせて頂きます。ありがとうございます。

     

     

    --------------------------------------------------------------------------------------------------------------------------------------------

    ここからは本題の内容からずれます。

    皆様、ご容赦願います。

     

    三輪の牛さんに紹介して頂いたページで、

    >http://www.mahoroba.ne.jp/~mw_ken/netdefaultvalue.html

    「AutoSize」プロパティ値って InitializeNewComponent() でしか初期値設定できないのでしょうか?

    InitializeNewComponent()のコードをコメント化し、MyLabelのコンストラクタで AutoSizeプロパティ値に

    falseをセットしても反映されないのですが、何故でしょう?

     

    2007年8月6日 0:27
  • ぶるーのさんこんにちは。

    AutoSizeについて、

    デザイナクラスがAutoSizeプロパティを上書きしているからだと思います。どこで上書きしているか探しましたがわかりませんでした。Lockedについてはどうなんでしょ、デザイナクラスの動きが変?

     

    2007年8月6日 9:39
  • >Lockedについてはどうなんでしょ、デザイナクラスの動きが変?

    新規に作成したプロジェクトで、基底のFormA、派生のFormBしかない状態で、既に

    現象が発生するので、VisualStudio側に何か不具合があるんでしょうね。

     

    5種類程のFormレイアウトパターンがあるので、各Formの雛型として、基底Formを

    作成し、そこから、各Formを派生させて、と考えていたのですが。

    Lockedプロパティなので、実働上、何の問題もないのですが、デザイン時にうっかり

    コントロールを動かしちゃう、というのが防げないのであれば、各Formの雛型は

    それぞれ別個に、各Form間で何の関係もない状態の物を作るしかないのかな。

     

     

     

    >AutoSizeについて

    なるほど。

    プロパティの初期化は、「一律、ここで」って感じにはいかないのですね。

    分りました。

     

    2007年8月6日 23:59