C# 如何在flow布局面板中保留空间
在窗口窗体c中使用flowLayoutPanel显示每个带有单选按钮的问题后,如何保留空间?他们是否有机会将css与flowLayoutPanel一起使用,以便外观和字段都很好?这是我的示例代码C# 如何在flow布局面板中保留空间,c#,.net,winforms,flowlayoutpanel,C#,.net,Winforms,Flowlayoutpanel,在窗口窗体c中使用flowLayoutPanel显示每个带有单选按钮的问题后,如何保留空间?他们是否有机会将css与flowLayoutPanel一起使用,以便外观和字段都很好?这是我的示例代码 for (int i = 0, r = 0; i < dt.Rows.Count; i++, r++) { Label lblQuestionNo = new Label(); Label
for (int i = 0, r = 0; i < dt.Rows.Count; i++, r++)
{
Label lblQuestionNo = new Label();
Label lblQuestion = new Label();
Label lblCorrectAnswer = new Label();
lblQuestionNo.Text += Convert.ToInt32(r + 1).ToString();
lblQuestionNo.ForeColor = System.Drawing.Color.Red;
string ques = dt.Rows[r]["Question"].ToString();
lblQuestion.Text += dt.Rows[r]["Question"].ToString();
lblQuestion.Text += Environment.NewLine;
lblQuestionNo.Text += Environment.NewLine;
Label lblOption1 = new Label();
Label lblOption2 = new Label();
Label lblOption3 = new Label();
Label lblOption4 = new Label();
Label lblOption5 = new Label();
Label lblOpt1 = new Label();
Label lblOpt2 = new Label();
Label lblOpt3 = new Label();
Label lblOpt4 = new Label();
Label lblOpt5 = new Label();
Label lblBreak = new Label();
Label lblBreaks = new Label();
lblBreaks.Text = "<br />";
lblBreak.Text = "<br />";
if (Convert.ToInt32(dt.Rows[r]["AnswerType"]) == 0)
{
RadioButton rb1 = new RadioButton();
RadioButton rb2 = new RadioButton();
RadioButton rb3 = new RadioButton();
RadioButton rb4 = new RadioButton();
RadioButton rb5 = new RadioButton();
rb1.Enabled = false;
rb2.Enabled = false;
rb3.Enabled = false;
rb4.Enabled = false;
rb5.Enabled = false;
lblOption1.Text += dt.Rows[r]["Option1"].ToString();
lblOption2.Text += dt.Rows[r]["Option2"].ToString();
if (dt.Rows[r]["Option3"].ToString() != null && dt.Rows[r]["Option3"].ToString() != "")
lblOption3.Text += dt.Rows[r]["Option3"].ToString();
else
rb3.Visible = false;
if (dt.Rows[r]["Option4"].ToString() != null && dt.Rows[r]["Option4"].ToString() != "")
lblOption4.Text += dt.Rows[r]["Option4"].ToString();
else
rb4.Visible = false;
if (dt.Rows[r]["Option5"].ToString() != null && dt.Rows[r]["Option5"].ToString() != "")
lblOption5.Text += dt.Rows[r]["Option5"].ToString();
else
rb5.Visible = false;
String CorrectAnswer = dt.Rows[r]["CorrectAnswer"].ToString();
switch (CorrectAnswer)
{
case "A":
lblOpt1.Text += "Correct Answer";
break;
case "B":
lblOpt2.Text += "Correct Answer";
break;
case "C":
lblOpt3.Text += "Correct Answer";
break;
case "D":
lblOpt4.Text += "Correct Answer";
break;
}
if (dt.Rows[r]["UserAnswered"].ToString() != null && dt.Rows[r]["UserAnswered"].ToString() != "")
{
switch (dt.Rows[r]["UserAnswered"].ToString())
{
case "A":
rb1.Checked = true;
break;
case "B":
rb2.Checked = true;
break;
case "C":
rb3.Checked = true;
break;
case "D":
rb4.Checked = true;
break;
}
}
flowLayoutPanel1.Controls.Add(lblQuestionNo);
flowLayoutPanel1.Controls.Add(lblQuestion);
flowLayoutPanel1.WrapContents = true;
flowLayoutPanel1.Controls.Add(rb1);
flowLayoutPanel1.Controls.Add(lblOption1);
flowLayoutPanel1.Controls.Add(lblOpt1);
flowLayoutPanel1.Controls.Add(rb2);
flowLayoutPanel1.Controls.Add(lblOption2);
flowLayoutPanel1.Controls.Add(lblOpt2);
flowLayoutPanel1.Controls.Add(rb3);
flowLayoutPanel1.Controls.Add(lblOption3);
flowLayoutPanel1.Controls.Add(lblOpt3);
flowLayoutPanel1.Controls.Add(rb4);
flowLayoutPanel1.Controls.Add(lblOption4);
flowLayoutPanel1.Controls.Add(lblOpt4);
}
for(int i=0,r=0;i”;
lblBreak.Text=“
”;
if(转换为32(dt.行[r][“应答类型])==0)
{
RadioButton rb1=新RadioButton();
RadioButton rb2=新RadioButton();
RadioButton rb3=新RadioButton();
RadioButton rb4=新RadioButton();
RadioButton rb5=新RadioButton();
rb1.Enabled=false;
rb2.Enabled=false;
rb3.Enabled=false;
rb4.Enabled=false;
rb5.Enabled=false;
lblOption1.Text+=dt.Rows[r][“Option1”].ToString();
lblOption2.Text+=dt.Rows[r][“Option2”].ToString();
if(dt.Rows[r][“Option3”].ToString()!=null和&dt.Rows[r][“Option3”].ToString()!=“”)
lblOption3.Text+=dt.Rows[r][“Option3”].ToString();
其他的
rb3.可见=假;
if(dt.Rows[r][“Option4”].ToString()!=null和&dt.Rows[r][“Option4”].ToString()!=“”)
lblOption4.Text+=dt.Rows[r][“Option4”].ToString();
其他的
rb4.可见=假;
if(dt.Rows[r][“Option5”].ToString()!=null和&dt.Rows[r][“Option5”].ToString()!=“”)
lblOption5.Text+=dt.Rows[r][“Option5”].ToString();
其他的
rb5.可见=假;
字符串CorrectAnswer=dt.Rows[r][“CorrectAnswer”].ToString();
开关(正确应答)
{
案例“A”:
lblOpt1.Text+=“正确答案”;
打破
案例“B”:
lblOpt2.Text+=“正确答案”;
打破
案例“C”:
lblOpt3.Text+=“正确答案”;
打破
案例“D”:
lblOpt4.Text+=“正确答案”;
打破
}
if(dt.Rows[r][“userresponsed”].ToString()!=null和&dt.Rows[r][“userresponsed”].ToString()!=“”)
{
开关(dt.Rows[r][“UserAnswered”].ToString())
{
案例“A”:
rb1.Checked=true;
打破
案例“B”:
rb2.Checked=true;
打破
案例“C”:
rb3.Checked=true;
打破
案例“D”:
rb4.选中=真;
打破
}
}
flowLayoutPanel1.Controls.Add(lblQuestionNo);
flowLayoutPanel1.Controls.Add(lblQuestion);
flowLayoutPanel1.WrapContents=true;
flowLayoutPanel1.Controls.Add(rb1);
flowLayoutPanel1.Controls.Add(lblOption1);
flowLayoutPanel1.Controls.Add(lblOpt1);
flowLayoutPanel1.Controls.Add(rb2);
flowLayoutPanel1.Controls.Add(lbloption 2);
flowLayoutPanel1.Controls.Add(lblOpt2);
flowLayoutPanel1.Controls.Add(rb3);
flowLayoutPanel1.Controls.Add(lbloption 3);
flowLayoutPanel1.Controls.Add(lblOpt3);
flowLayoutPanel1.Controls.Add(rb4);
flowLayoutPanel1.Controls.Add(lblOption4);
flowLayoutPanel1.Controls.Add(lblOpt4);
}
您需要设置边距属性。
像
按钮btn=新按钮();
btn.Name=btn.Text=string.Format(“按钮{0}”,i+1);
边界=新填充(5,5,5,5);
flowLayoutPanel1.控件.添加(btn);