เวลาเรียกใช้ ก็
String ins=InputPrompt.ShowDialog("Hello","Question"," default");
public static class InputPrompt
{
public static string ShowDialog(string text, string caption,string defText)
{
Form prompt = new Form()
{
Width = 500,
Height = 150,
FormBorderStyle = FormBorderStyle.FixedSingle,
Text = caption,
StartPosition = FormStartPosition.CenterScreen
};
Label textLabel = new Label() { Left = 50, Top = 20, Text = text };
TextBox textBox = new TextBox() { Left = 50, Top = 50, Width = 400 };
Button confirmation = new Button() { Text = "Ok", Left = 350, Width = 100, Top = 70, DialogResult = DialogResult.OK };
confirmation.Click += (sender, e) => { prompt.Close(); };
prompt.Controls.Add(textBox);
prompt.Controls.Add(confirmation);
prompt.Controls.Add(textLabel);
prompt.AcceptButton = confirmation;
if (defText != null) textBox.Text = defText;
return prompt.ShowDialog() == DialogResult.OK ? textBox.Text : "";
}
}
เพิ่มสำหรับ แสดง DataTable บน DataGridView
เพิ่มสำหรับ แสดง DataTable บน DataGridView
public static string GridDialog(string caption, object dt)
{
System.Windows.Forms.Form prompt = new System.Windows.Forms.Form()
{
Width = 500,
Height = 500,
FormBorderStyle = FormBorderStyle.FixedSingle,
Text = caption,
StartPosition = FormStartPosition.CenterScreen,
AutoSizeMode=AutoSizeMode.GrowAndShrink
};
DataGridView dv = new DataGridView() { Left = 1, Top = 1, Width = 400,Height =400 };
Button confirmation = new Button() { Text = "Ok", Left = 350, Width = 100, Top = 70, DialogResult = DialogResult.OK };
//Anchor: Top,Left
//AutoSizeColumn: Fill
//Dock: Fill
dv.Dock = DockStyle.Fill;
dv.AutoSize = true;
dv.Anchor = AnchorStyles.Top | AnchorStyles.Left;
prompt.Controls.Add(dv);
prompt.Controls.Add(confirmation);
prompt.AcceptButton = confirmation;
dv.DataSource = dt; // can be datatable , List
prompt.ShowDialog();
return"";
}
// ในกรณี Linq ต้องการแสดงผลบน Grid ต้องใส่ toList() ด้วย
// ในกรณี Linq ต้องการแสดงผลบน Grid ต้องใส่ toList() ด้วย
var result = dt.Rows.Cast<DataRow>()
.Select(row=> new{ key= row["BomID"].ToString(),data= row["ChildID"].ToString()}).ToList();
ไม่มีความคิดเห็น:
แสดงความคิดเห็น