- PR -

datagridviewの垂直スクロールバーを常に表示したい

1
投稿者投稿内容
newborn
常連さん
会議室デビュー日: 2005/04/28
投稿数: 34
お住まい・勤務地: JAPAN
投稿日時: 2006-02-22 15:42
お世話になります。

VS2005のDataGridViewの垂直スクロールバーを常に表示
したく思っております。
DataGridViewに一定以上の行が表示されている場合は、
自動的に垂直スクロールが表示されますが、数行しか
無い場合は、非表示となってしまいます。
これを、垂直スクロールバーがebaled=falseの状態で
表示できればと思います。

どなたかお知恵を貸していただけると大変助かります。
宜しくお願いいたします。
flora
会議室デビュー日: 2003/12/02
投稿数: 3
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)