1
안녕하십니까., 투표 시스템에 투표하는 데 문제가 있습니다. 라디오 버튼을 클릭 할 때마다 그 후보자의 신분증을 받아 다른 양식으로 넘겨서 투표 수를 만들어야합니다. 이벤트 처리기를 만드는 데 문제가 있습니다. 모든 컨트롤이 동적입니다.C# winforms에서 코드를 사용하여 데이터베이스에서 ID를 가져 오는 방법은 무엇입니까?
지금까지이 코드가 있습니다
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
Load += Form1_Load;
}
FlowLayoutPanel panel = new FlowLayoutPanel();
private void InitPanel()
{
panel.Size = new Size(600, 150);
panel.Location = new Point(50, 50);
panel.FlowDirection = FlowDirection.LeftToRight;
panel.AutoScroll = true;
panel.WrapContents = false;
Controls.Add(panel);
}
private void Form1_Load(object sender, EventArgs e)
{
InitPanel();
panel.SuspendLayout();
string cmdText = "SELECT (FirstName + ' ' + MiddleName + ' ' + LastName) as FullName, " +
"imgPath as ImagePath FROM TableVote WHERE Position='President'";
using(SqlCommand com = new SqlCommand(cmdText,sc))
{
if(sc.State != ConnectionState.Open) sc.Open();
SqlDataReader reader = com.ExecuteReader();
while(reader.Read()){
AddRadioButton(reader.GetString(0), reader.GetString(1));
}
reader.Close();
sc.Close();
panel.ResumeLayout(true);
}
}
private void AddRadioButton(string fullName, string imagePath)
{
RadioButton radio = new RadioButton {Text = fullName, Parent = panel};
radio.AutoSize = true;
radio.Image = new Bitmap(Image.FromFile(imagePath),75,75);
radio.TextImageRelation = TextImageRelation.ImageAboveText;
radio.CheckAlign = ContentAlignment.BottomCenter;
}
}
감사합니다 :) 당신이
RadioButton radio = new RadioButton {Text = fullName, Parent = panel};
radio.CheckedChanged += radio_CheckedChanged;
radio.Tag=1; //you can set here your own object.
같은 모든 동적 라디오 버튼에 대한 일반적인 checkchange 이벤트를 정의 할 수 있습니다
어디에 문제가 있습니까? –
문제는 어떻게 동적 라디오 버튼에서 checkedchanged 이벤트를 수행합니까? 라디오 버튼을 클릭 할 때마다 후보자 ID를 얻는 방법은 무엇입니까? –
@LyndonBrozTonelete이 문제에 관해 더 많은 질문을해야 할 것입니다. 대신 클래스를 다루는 기본적인 방법부터 데이터베이스 다루기에 이르기까지 몇 가지 간단한 문제로 프로그래밍을 시도해야합니다. 당신의 문제는 지금도 간단합니다. 후보자의 ID에 대해 말했습니까? 그렇다면 '테이블'에서 어디로 가져 왔습니까? 다른 정보와 함께 ID를 가져와야합니다. –