最近C#触り始めまして、そこでちょっと詰まったところ。
tabletlayoutpanelでフォームの大きさを変えると同時にコントロールの大きさも変えれるけど、
フォントの大きさ変わらないのですよねー
columnSpan,rowSpanで枠が2つに増やせるのも知らなかったわー
そこでフォームのリサイズイベントのところ、でサイズの比率に合わせてフォームのサイズも変える処理を行いました。
private void Form1_Resize(object sender, EventArgs e)
{
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
//clientsizeでフォームの幅が取得できる
float text_size = ClientSize.Width;//横幅
float text_size2 = ClientSize.Height;//縦幅
//大きい方に合わせる
float text_size_max = System.Math.Max(text_size, text_size2);
this.label1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
this.button1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
this.listView1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
for (int i = 0; i < listView1.Items.Count; i++)
{
listView1.Items[i].SubItems[0].Font = new Font("MS P明朝", 9 * text_size_max/600);
}
}
{
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
//clientsizeでフォームの幅が取得できる
float text_size = ClientSize.Width;//横幅
float text_size2 = ClientSize.Height;//縦幅
//大きい方に合わせる
float text_size_max = System.Math.Max(text_size, text_size2);
this.label1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
this.button1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
this.listView1.Font = new Font("MS UI Gothic", 9 * (text_size_max / 600));
for (int i = 0; i < listView1.Items.Count; i++)
{
listView1.Items[i].SubItems[0].Font = new Font("MS P明朝", 9 * text_size_max/600);
}
}
600はただ単に一番初めに作った画面の横幅の大きさです。
適当な比率です。