1

TabControl にネストされたコントロールに問題があります。n TabPages を持つ TabControl があり、各 TabPage に DataGridView があります。各 DataGridView には CheckBoxC 列があります。すべての datagridviews に異なるデータソースを設定します (それぞれに異なるタイプのデータがあります)。これは正常に動作しています!


ComboBox 列を追加したので、すべての DataGridView のすべての行を選択できます。私はこれをプログラムで(ボタンクリックで)行いますが、TabPage #1(起動時に表示されるもの)を除いてDataGridViewsのcheckBoxセルに目盛りが追加されないことを除いて、選択のカウントは問題ありません。


移動する前にすべての tabPages をクリックしてDataGridViews のすべての行を選択すると、コードは正常に動作し、目盛りがすべての行に追加されます (希望どおり)。

しかし、すべての tabPages をクリックしないと機能しないのはなぜでしょうか? TabControl のバグか何かはありますか?

4

2 に答える 2

1

私の回避策は、これをフォームの load イベントに追加することでした。

this.tabcontrol1.BindingContext = this.BindingContext;
于 2015-03-20T17:40:19.420 に答える
0

私はこの答えがWPFには正しいことを知っていますが、WinFormsには肯定的ではありません。少なくとも WPF では、視覚ベースのインターフェイスであるため、プログラムは、クリックされるまで、他のタブのオブジェクト/コントロールなどをロードしません。これはバグではなく、設計の一部です。

単一のボタンで複数のタブのすべてのテキストボックスをクリアしようとすると、同様の問題が発生しました。私はそれを機能させたことはありませんでしたが、VisualTreeHelperforeachステートメントを組み合わせて使用​​する方法があるはずです。

繰り返しますが、これは WinForms ではなく WPF に基づいていますが、うまくいけば、それを解決する方法について正しい方向に向けることができます。

于 2012-05-20T16:27:46.340 に答える