私は WinForm プロジェクトに取り組んでおり、ユーザーが実行時に SplitContainer の動作のようにサイズ変更できる TableLayoutPanel を作成しようとしています。これを部分的に行うコードをいくつか見つけましたが、不完全です。誰かがここで私を助けてくれますか?
前もって感謝します、-DA
これは、CodeProject で見つけたスレッドから取得したこれまでのコードです。私が独自に行った唯一の違いは、TableLayoutPanel から継承する customTableLayoutPanel を作成することです。
public partial class Form1 : Form
{
bool resizing = false;
TableLayoutRowStyleCollection rowStyles;
TableLayoutColumnStyleCollection columnStyles;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
rowStyles = tableLayoutPanel1.RowStyles;
columnStyles = tableLayoutPanel1.ColumnStyles;
}
private void tableLayoutPanel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
resizing = true;
}
}
private void tableLayoutPanel1_MouseMove(object sender, MouseEventArgs e)
{
if (resizing)
{
columnStyles[0].SizeType = SizeType.Absolute;
rowStyles[0].SizeType = SizeType.Absolute;
rowStyles[0].Height = e.Y;
columnStyles[0].Width = e.X;
}
}
private void tableLayoutPanel1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
resizing = false;
}
}
}