none
ScrollableControlでのDockプロパティの挙動 RRS feed

  • 質問

  • UserControlではIMEが使えないということらしいので、最初にUserControlでのプロジェクトを作成し、途中で基本クラスをScrollableControlに変更して、他のプロジェクトでDockをNoneから変更したところ、プロパティウィンドウがフリーズします。

    これは何が原因でしょうか?回避方法はありますでしょうか?

    環境

    VisualStudio2010Pro

    C#

    Windows7 64bit

    2011年5月24日 11:31

回答

  • デバッグしませんか?

    これだけの情報では正直、お困りの現象を特定することは難しいと思っています。
    このため、ご自身でデバッグしてもう少し情報の精度を上げる、具体的にすると言った動きを期待したいと思っています。

    1.今回作った Control を含むプロジェクトを開く。
    2.プロジェクトのプロパティからデバッグタブを開き、外部のプログラムの実行から Visual Studio を指定する。(C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe など)
    3.デバッグ実行して、開いた Visual Studio から新しいプロジェクトを作るなどして、作った Control を貼り付ける。(場合に応じて bin\Debug にある DLL を参照設定で追加する)
    4.Dock プロパティを変更する。
    5.フリーズしていれば、1.で開いておいた Visual Studio に戻り、すべて中断ボタンを押してみる。(停止ではなく、中断です)
    6.どこで止まっているか見えればその近辺を疑う。見えなければ、オプション設定ダイアログからデバッグ - 全般を開き、マイコードのみを外して呼び出し履歴を見る。

    覚えている範囲で書いたのでどこか手順を端折っていたり、間違っているかもしれません。
    結構手順がややこしいですが、デザイナでの挙動をデバッグするためにはこういった手法を使います。

    # もしくは、デバッグ対象の WinForms アプリで PropertyGrid を貼り付けておいて、デバッグ中に Dock プロパティを変えるという技もあるか。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク freemann 2011年5月24日 15:40
    2011年5月24日 13:48
    モデレータ

すべての返信

  • デバッグしませんか?

    これだけの情報では正直、お困りの現象を特定することは難しいと思っています。
    このため、ご自身でデバッグしてもう少し情報の精度を上げる、具体的にすると言った動きを期待したいと思っています。

    1.今回作った Control を含むプロジェクトを開く。
    2.プロジェクトのプロパティからデバッグタブを開き、外部のプログラムの実行から Visual Studio を指定する。(C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe など)
    3.デバッグ実行して、開いた Visual Studio から新しいプロジェクトを作るなどして、作った Control を貼り付ける。(場合に応じて bin\Debug にある DLL を参照設定で追加する)
    4.Dock プロパティを変更する。
    5.フリーズしていれば、1.で開いておいた Visual Studio に戻り、すべて中断ボタンを押してみる。(停止ではなく、中断です)
    6.どこで止まっているか見えればその近辺を疑う。見えなければ、オプション設定ダイアログからデバッグ - 全般を開き、マイコードのみを外して呼び出し履歴を見る。

    覚えている範囲で書いたのでどこか手順を端折っていたり、間違っているかもしれません。
    結構手順がややこしいですが、デザイナでの挙動をデバッグするためにはこういった手法を使います。

    # もしくは、デバッグ対象の WinForms アプリで PropertyGrid を貼り付けておいて、デバッグ中に Dock プロパティを変えるという技もあるか。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク freemann 2011年5月24日 15:40
    2011年5月24日 13:48
    モデレータ
  • Azulean様 回答ありがとうございます。

    提示いただいたやり方でやってみました。

    結果はPaint関連のようです。

    色々試してみようと思います。

    ありがとうございました。

    2011年5月24日 15:40