텍스트 박스에 버튼의 이름을 입력한후 버튼 추가하기 버튼을 누르면 해당 이름의 버튼을 view에 추가하는 기능입니다.
flowLayout의 기능과 AutoScroll 기능을 이용하여 버튼이 계속 생성이되면 밑으로 내려가는 것을 확인하 실수 있습니다.
버튼의 이름은 중복이 되지 않도록 IF문을 사용하였고 빈칸이나 그냥 버튼 추가하기 기능만 입력하였을 경우도 버튼을
생성하지 못하게 해놨습니다.
코드입니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public List<Button> buttonGroup = new List<Button>();
Boolean hwak = false;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (txtbox.Text.Equals("") || txtbox.Text.Equals("버튼의 이름을 입력하세요"))
{
MessageBox.Show("버튼 이름을 입력하세요");
}
else
{
for (int i = 0; i < buttonGroup.Count; i++)
{
if (buttonGroup[i].Name.Equals(txtbox.Text+"Btn"))
{
hwak = true;
}
}
if (hwak == true)
{
MessageBox.Show("해당 버튼의 이름이 있습니다.");
hwak = false;
}
else
{
buttonGroup.Add(new Button());
buttonGroup.Last().Name = txtbox.Text + "Btn";
buttonGroup.Last().Text = txtbox.Text;
buttonGroup.Last().Font = new System.Drawing.Font("맑은 고딕", 10.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(50)));
this.flowLayoutPanel1.Controls.Add(buttonGroup.Last());
buttonGroup.Last().Visible = true;
}
}
}
private void txtbox_MouseClick(object sender, MouseEventArgs e)
{
txtbox.Text = "";
}
}
}
댓글