PDA

View Full Version : سوال: ایجاد پنجره سوال از کاربر



rezarko
دوشنبه 30 مرداد 1391, 12:57 عصر
سلام . چه طوری میشه به وسیله یک پنجره پیغام یک مقدار رو از کاربر گرفت.
ممنون

behzad1986
دوشنبه 30 مرداد 1391, 13:29 عصر
سلام
در ساده ترین شکل ممکن
در قسمت References ، از تب .Net گزینه

Microsoft.VisualBasic
رو به References های پروژتون اضافه می کنید
و از دستور زیر استفاده می کنید
String Value= Microsoft.VisualBasic.Interaction.InputBox("پیغام");

saman_h
دوشنبه 30 مرداد 1391, 13:52 عصر
سلام
روش دوستمون خیلی خوبه ، آخه C#‎ یکی از مشکلاش همینه که InputBox نداره و باید از کدهای VB برای اجراش استفاده کرد .
حالا من یه راه حل دیگه بهت پیشنهاد میدم . شما میتونی حودت یه فرم درست کنی به عنوان InputBox ازش استفاده کنی . مزیتش نسبت به اون چیزی که دوستمون گفتن اینه که به هر شکل و حالتی بخوای بیرونش میاری ( البته شاید همونم بشه ها من اطلاع دقیقی ندارم )
این تابع رو بذار توی پروژت :
public static DialogResult InputBox(string title, string promptText, ref string value)
{
Form form = new Form();
Label label = new Label();
TextBox textBox = new TextBox();
Button buttonOk = new Button();
Button buttonCancel = new Button();

form.Text = title;
label.Text = promptText;
textBox.Text = value;

buttonOk.Text = "OK";
buttonCancel.Text = "Cancel";
buttonOk.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;

label.SetBounds(9, 20, 372, 13);
textBox.SetBounds(12, 36, 372, 20);
buttonOk.SetBounds(228, 72, 75, 23);
buttonCancel.SetBounds(309, 72, 75, 23);

label.AutoSize = true;
textBox.Anchor = textBox.Anchor | AnchorStyles.Right;
buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;

form.ClientSize = new Size(396, 107);
form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.StartPosition = FormStartPosition.CenterScreen;
form.MinimizeBox = false;
form.MaximizeBox = false;
form.AcceptButton = buttonOk;
form.CancelButton = buttonCancel;

DialogResult dialogResult = form.ShowDialog();
value = textBox.Text;
return dialogResult;
}
و داخل یه دکمه اینجوری فراخوانیش کن :
string value = "Document 1";
if (InputBox("New document", "New document name:", ref value) == DialogResult.OK)
{
textBox1.Text = value;
}

به ایناهم یه نگاه بندازی بد نیست :
http://www.codeproject.com/Articles/10181/InputBox-in-C
http://stackoverflow.com/questions/8103743/wpf-c-sharp-inputbox
http://www.sourcecodester.com/c/4310/input-box-c.html
امیدوارم کافی بوده باشه !!
موفق باشی

ehsan7007
دوشنبه 30 مرداد 1391, 14:01 عصر
سلام.
ساده ترین راه اینه که همینطور که دوست عزیزمون گفت پنجرت رو خودت طراحی کنی.
هم زیبا تره و هم امکانات بیشتر و راحت تری در اختیار دارید.