- - PR -
datagridviewの垂直スクロールバーを常に表示したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-22 15:42
お世話になります。
VS2005のDataGridViewの垂直スクロールバーを常に表示 したく思っております。 DataGridViewに一定以上の行が表示されている場合は、 自動的に垂直スクロールが表示されますが、数行しか 無い場合は、非表示となってしまいます。 これを、垂直スクロールバーがebaled=falseの状態で 表示できればと思います。 どなたかお知恵を貸していただけると大変助かります。 宜しくお願いいたします。 |
|
投稿日時: 2006-03-29 04:07
以下のユーザーコントロールを実装して使用すれば宜しいかと…。
(右下の部分にちょっと問題が残ってますが…。) public class MyDataGridView : DataGridView { public MyDataGridView() { this.VerticalScrollBar.Visible = true; this.VerticalScrollBar.VisibleChanged += new EventHandler(ShowScrollBars); } private int CAPTIONHEIGHT = 21; private int BORDERWIDTH = 2; private void ShowScrollBars(object sender, EventArgs e) { if (!this.VerticalScrollBar.Visible) { int width = this.VerticalScrollBar.Width; this.VerticalScrollBar.Location = new Point(this.ClientRectangle.Width - width - BORDERWIDTH+1, 2); this.VerticalScrollBar.Size = new Size(width, this.ClientRectangle.Height - CAPTIONHEIGHT - BORDERWIDTH+4); this.HorizontalScrollBar.Size = new Size(this.HorizontalScrollBar.Size.Width - this.VerticalScrollBar.Size.Width, this.HorizontalScrollBar.Size.Height); this.VerticalScrollBar.Show(); } } } |
1