質問: ### 前提・実現したいこと VisualStudio2015 C#で開発しています。 特殊な表が作りたくて、色々試しては見ましたがうまくいきません。 表のうち、1列だけ行幅の半分だけ上又は下に表示位置をずらしたいのです。 他の列の行間にセルの中心が来るような感じです。 |------|----|----| | | |----| |------|----| | | | |----| |------|----| | | | |----| |------|----| | DataGridViewで表示させたい行幅の半分で行幅を設定し、 2行分結合させるように矩形を描画してみましたが、セルにフォーカスが移ったときに 半分だけ選択状態になったり、スクロールさせると表示させたテキストが半分になったりと 実用に耐えません。 そもそも、1列だけずらして表示させるような機能があるのかどうかもわかりませんが、 何かヒントだけでもと思い、こちらに掲載させていただきます。
回答: 結局、セルを結合させる方法は見た目や挙動がおかしくなってしまうので (実力不足だと思いますが・・・) DataGridViewを2つ並べて配置することにしました。 左側のDataGridViewはスクロールバーを表示させないようにして、 右側のDataGridViewのスクロールイベントを拾って同期させるようにしました。 マウスホイールイベントも拾うようにして、左側にカーソルを持っていってホイールを動かしても 左右同期するようにしました。 要件は満たしているので、とりあえずはこれで自己解決にしておきます。 !2つ並べたDataGridView