というわけで半月ぶりのBlogもまた Vb.Net覚書
今回は 自分がこの現象に遭遇した時 ぐぐったけどなにも出てこなくて
ちょっと苦労した DataGridViewの謎なエラー。
色々やったら解決したんで、同じ目にあってる人たちにも情報提供出来るかも。
DataGridViewがある画面で Me.Enabled = False など実行して その子オブジェクトである
DataGridViewの Enabledも False 状態にし
DataGridViewにある程度の量(スクロールバーで移動しないと行の最後に移動できない位)の行を
追加後 DataGridViewのEnabledが Trueになるように変更した場合
(この場合 Me.Enabled = True を実行した後ってことですな。)
垂直方向の スクロールバーがおかしくなるって現象がおきます。
スクロールバーの移動量が増えてなくて バーを動かしても最終行までは全然移動できず、
DownKeyなどで下行に移動していこうとすると途中で コントロールのシステムエラーが発生します。
色々試してみた所 回避方法がありました。
行を追加する前に DataGridViewの ScrollBarプロパティで垂直方法のスクロールバーを
なくし(状況とかお好みによって None または Horizontalで 垂直だけ消せばよい)
行を追加後に 垂直方向の ScrollBarプロパティで 表示(Vertical または Both) すればOK
ScrollBarを表示するのは 行を追加後であれば Enabledを Trueにするタイミングに
関係ありません。
同じ目にあってる人で解決してる人 あんまり見ないんで 参考になれば どぞ★
【追記:2015/10/10】
職場で発生した現象を自宅で書いてたので、正確なエラーとか覚えてなくて
誰かのお役にたつのかなぁ?と少し疑問にも思ってたんですが、存外
お役になっているようで何よりです。
それにしても縦スクロールが無効になることにも参考になるとは
こちらも勉強になりました。ありがとうござました。
参考になりました。
返信削除ちょうど困っていた症状でした。
返信削除大変参考になりました。ありがとうございました。
助かりました。
返信削除ありがとうございます。
助かりました!治りました!
返信削除ありがとうございます!
助かりました。ありがとうございます。
返信削除まさにこの現象で困っていました。
返信削除ありがとうございます。
VisualStudio2008 C#ですが、この現象で困っておりこの方法で解決しました。
返信削除大変助かりました。
ありがとうございます。
Tab上にDataGridViewコントロールがある場合に、縦スクロールバーが無効になってしまうパターンがあり、困っていました。この方法を応用することで縦スクロールバーが正常に設定されることができました。助かりました。
返信削除