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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.89448 の関連記事表示

<< 0 >>
■89448  Re[1]: DataGridViewのカスタム列セル外表示
□投稿者/ 魔界の仮面弁士 -(2018/11/29(Thu) 13:41:50)
    No89447 (Mimio さん) に返信
    > 実際に動かすとDataGridViewのCell内にパネルが表示されてしまいいます。
    DataGridViewCell 継承クラスのサイズは、常にセルサイズに収まるようにします。
    https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/8cd309b3-b2fc-480d-80b8-9f7cf56ecf22/


    > MonthCalendarやComboBoxをカスタム列型としたときに、
    > 右ボタンをクリックするとセル外にカレンダやList部分が表示されるので、
    ComboBox でいえば、DropDownStyle = Simple スタイルでフォームに貼った場合、
    テキスト部とリスト部を合わせた領域が、そのコントロールのサイズとして扱われますよね。

    一方、DropDownStyle = DropDown / DropDownList の場合、
    デザイン時、コントロールのサイズにリスト部は含まれていませんよね。


    実行時で比較してみると、Simple スタイルの場合は
    リスト部が親コントロール(Form など)内から出られませんが、
    DropDown や DropDownList スタイルの場合には
    リスト部が Form からはみ出していても表示できますよね。

    これは、ドロップダウンやポップアップ表示するタイプのコントロールの場合、
    追加で表示される領域は、そのコントロールの一部ではなく、
    別のウィンドウが表示されているためである、と考えられます。


    > 何らかの設定でできるのではないかと思っています。
    パネル部はセル内に配置するのではなく、新規に Form を用意し、
    そこに移動してみてください。
    このフォームの TopLevel プロパティは false にしておきます(既定で false です)。

    そして、TimeSpan セルがパネル入力モードになった段階で、
    この子フォームを表示するようなコードを記述し、フォーカスをそこに移します。

    あとは、コントロールからフォーカスが Leave したときに
    そのフォームが消えるようにすれば、
    ドロップダウンスタイルと同じ見た目になるかと。
記事No.89447 のレス /過去ログ154より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -