- 題名: データグリッドビューとフォームの大きさについて
- 日時: 2012/02/07 5:43:45
- ID: 29782
- この記事の返信元:
- (なし)
- この記事への返信:
- [29784] Re[1]: データグリッドビューとフォームの大きさについて2012/02/07 9:58:29
- ツリーを表示
■No29782に返信(まつたけさんの記事) > にしたら、フォームに合わせてデータグリッドビューが大きくはなるのですが、 > 今度は大きくなったまま小さくできなくなりました。 手元の環境では再現しませんでした。 実験に使ったのは下記のコードです。 Imports System.Windows.Forms Public Class Form1 Inherits Form Private WithEvents dgv As DataGridView Public Sub New() InitializeComponent() dgv = New DataGridView() dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill dgv.RowCount = 20 dgv.ColumnCount = 5 dgv.Anchor = AnchorStyles.Top _ Or AnchorStyles.Bottom _ Or AnchorStyles.Left _ Or AnchorStyles.Right dgv.Size = Me.ClientSize - New Size(32, 32) dgv.Location = New Point(16, 16) Controls.Add(dgv) End Sub End Class > もし詳細わかりましたらよろしくお願い致します。 現象を再現可能な最低限のソースコードを提示できますか?
■No29795に返信(まつたけさんの記事) >>> フォームに合わせてデータグリッドビューが大きくはなるのですが、 >>> 今度は大きくなったまま小さくできなくなりました。 この状況というのは、 (1) フォームを小さくしても DataGridView が小さくならない (2) フォームを大きくできるが、フォームを小さくできない のいずれのことでしょうか? DataGridView には、列幅などに関する幾つかの不具合が知られているため、 先の回答では、私は (1) という意味で読み取っていましたが、 もしも (2) の状況なのだとしたら、Form の設定が AutoSize = True AutoSizeMode = GlowOnly になっているのかも知れません。 > AnchorがTop,Bottom,Left,Right > AutoSizeColumnsModeがFillは、デザイナのプロパティで設定しまして、 質問の意図が先の (1) という前提で、再度検証してみましたが、 提示いただいたコードを参考に、下記のようにしてみましたが やはり再現されませんでした。 デザイナ側には一切手を加えていない、まっさらな Form での実験です。 Imports System.Windows.Forms Public Class Form1 Inherits Form Private WithEvents dgv As DataGridView Public Sub New() InitializeComponent() dgv = New DataGridView() dgv.AllowUserToAddRows = False dgv.Anchor = AnchorStyles.Top _ Or AnchorStyles.Bottom _ Or AnchorStyles.Left _ Or AnchorStyles.Right dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill dgv.Location = New Point(16, 16) dgv.Name = "dgv" dgv.RowTemplate.Height = 21 dgv.Size = Me.ClientSize - New Size(32, 32) dgv.TabIndex = 0 Controls.Add(dgv) dgv.RowCount = 20 dgv.ColumnCount = 50 End Sub End Class > AnchorとAutoSizeColumnsModeの部分をデザイナから設定しないで、 > フォームのロード時に設定しても同じでした。 追加設定を行う場合には、Load イベントのほか、 コンストラクタや Shown を使う事も検討してみてください。 http://rucio.cocolog-nifty.com/blog/2011/04/post-f125.html http://social.msdn.microsoft.com/Forums/ja/vbgeneralja/thread/332ca753-ca43-47b7-b6c6-60bc803e74e5 http://www.atmarkit.co.jp/fdotnet/dotnettips/470formshown/formshown.html
分類:[.NET]
はじめまして。
VB2008Expressを使用して、データグリッドビューを使っています。
フォームの大きさにあわせてデータグリッドビューの大きさを変えたいのですが、
AnchorがTop,Bottom,Left,Right
AutoSizeColumnsModeがFill
にしたら、フォームに合わせてデータグリッドビューが大きくはなるのですが、
今度は大きくなったまま小さくできなくなりました。
もし詳細わかりましたらよろしくお願い致します。