C#では、DataGridView
を使用して表を表示しています。テーブルは、表示されるフォームよりも大幅に小さいので、フォームはフォームの左上隅の小さな部分だけを塗りつぶします。Windowsフォーム:フォームとグリッドの変更サイズを一緒にするには?
私の質問:どのようにして(1)テーブルを自動的に拡大してフォームを塗りつぶすか、または(2)フォームを自動的にテーブルのサイズに縮小することができますか?グリッドのドックとアンカーのプロパティを持つ(そして、両方の可能性がありますか?)
using System ;
using System.Windows.Forms ;
using System.Data ;
public class NiftyForm : System.Windows.Forms.Form
{
private DataGridView myDataGridView ;
private System.Data.DataTable myDataTable ;
public NiftyForm ()
{
this.Load += new EventHandler (NiftyFormLoadEventHandler) ;
}
private void NiftyFormLoadEventHandler (System.Object sender,
System.EventArgs ea)
{
this.Location = new System.Drawing.Point (40, 30) ;
this.Size = new System.Drawing.Size (800, 600) ;
myDataTable = new DataTable () ;
DataColumn myDataColumn = new DataColumn () ;
myDataColumn.DataType = typeof(string) ;
myDataColumn.ColumnName = "Name";
myDataColumn.ReadOnly = true;
myDataTable.Columns.Add (myDataColumn) ;
myDataColumn = new DataColumn () ;
myDataColumn.DataType = typeof(int) ;
myDataColumn.ColumnName = "Age";
myDataColumn.ReadOnly = true;
myDataTable.Columns.Add (myDataColumn) ;
string [ ] Name = new string [ 5 ]
{ "Dwight", "Abe", "Cal", "Bill", "Eisenhower" } ;
int [ ] Age = new int [ 5 ] { 123, 45, 6, 78, 9 } ;
for (int i = 0 ; i < 5 ; i ++)
{
DataRow myDataRow = myDataTable.NewRow () ;
myDataRow [ "Name" ] = Name [ i ] ;
myDataRow [ "Age" ] = Age [ i ] ;
myDataTable.Rows.Add (myDataRow) ;
}
this.myDataGridView = new DataGridView () ;
this.myDataGridView.DataSource = myDataTable ;
this.myDataGridView.Dock = DockStyle.Fill ;
this.Controls.Add (this.myDataGridView) ;
}
[ STAThreadAttribute () ]
static void Main ()
{
Application.Run (new NiftyForm ()) ;
}
}
答えにAnchorStyles.Bottomがありません。 –
これは、フォームの下部にアンカーしなかったためです。アンカーがフォームの一部を選択する方法を示していただけです:) –