PDA

View Full Version : باز شدن یک پنجره پس از کلید روی باتن yes ،messagebox



saeid.yavary
شنبه 11 اسفند 1386, 17:46 عصر
سلام
من در برنامه یک دکمه addlist دارم که کاربر وقتی روی ان کلید می کنه یک پنجره باز می شه که می تونه چند تا فایل رو انتخاب کنه و فایلها به دیتا گرید اضافه می شه
حالا وقتی فایلی رو انتخاب کرد که یک فایل دیگه با این نام در دیتا گرید وجود داشت یک messagebox نشان داده می شه که "فایل دیگری با این نام در دیتا گرید موجود است برای تغییر نام فایل روی کلید yes کلید کنید".
حالا می خوام یک پنجره ای ایجاد بشه که کاربر فقط نام جدید فایل رو وارد کنه !
این پنجره رو چطوری می تونم ایجاد کنم

Amir Oveisi
شنبه 11 اسفند 1386, 18:27 عصر
اگه مشکل باز کردن یک پنجره جدرد باشه خوب یه فرم بساز و اونو نشون بده! (نمیدونم من مشکل رو درست فهمیدم یا نه!)

najafzade
شنبه 11 اسفند 1386, 18:28 عصر
سلام
من در برنامه یک دکمه addlist دارم که کاربر وقتی روی ان کلید می کنه یک پنجره باز می شه که می تونه چند تا فایل رو انتخاب کنه و فایلها به دیتا گرید اضافه می شه
حالا وقتی فایلی رو انتخاب کرد که یک فایل دیگه با این نام در دیتا گرید وجود داشت یک messagebox نشان داده می شه که "فایل دیگری با این نام در دیتا گرید موجود است برای تغییر نام فایل روی کلید yes کلید کنید".
حالا می خوام یک پنجره ای ایجاد بشه که کاربر فقط نام جدید فایل رو وارد کنه !
این پنجره رو چطوری می تونم ایجاد کنم

می توانید از InputBox استفاده کنید که یک پیغام هم روش نشون میده.:قلب:

saeid.yavary
شنبه 11 اسفند 1386, 18:41 عصر
برنامه windows application نمی تونم از inputbox استفاده کنم
کنترل دیگه ای نداره !
ممنون

Amir Oveisi
شنبه 11 اسفند 1386, 19:12 عصر
برنامه windows application نمی تونم از inputbox استفاده کنم
کنترل دیگه ای نداره !

دوست عزیز کنترل خاصی برای اینکار وجود نداره و خودتون میتونید به سادگی با درست کردن یک فرم و نشون دادن اون بصورت دیالوگ این کار رو انجام بدین!

موفق باشید

saeid.yavary
شنبه 11 اسفند 1386, 19:18 عصر
مرسی متشکرم از راهنمایی هاتون!

Mahdi.Kiani
شنبه 11 اسفند 1386, 20:39 عصر
سلام
من در برنامه یک دکمه addlist دارم که کاربر وقتی روی ان کلید می کنه یک پنجره باز می شه که می تونه چند تا فایل رو انتخاب کنه و فایلها به دیتا گرید اضافه می شه
حالا وقتی فایلی رو انتخاب کرد که یک فایل دیگه با این نام در دیتا گرید وجود داشت یک messagebox نشان داده می شه که "فایل دیگری با این نام در دیتا گرید موجود است برای تغییر نام فایل روی کلید yes کلید کنید".
حالا می خوام یک پنجره ای ایجاد بشه که کاربر فقط نام جدید فایل رو وارد کنه !
این پنجره رو چطوری می تونم ایجاد کنم

یه چیزی توی این مایه ها



if(file exist)
{
if(MessageBox.Show("exist file",string.Format("file with name {0} already exist ",fileName), MessageBoxButtons.YesNo)== DialogResult.Yes)
{
if(new Form1().ShowDialog()== DialogResult.OK)
{
// code for getting new file name
}
}
}








فرمت هم یه چیزی توی مایه های عکس زیر

saeid.yavary
یک شنبه 12 اسفند 1386, 10:55 صبح
سلام
می خوام اگه کاربر دوباره هم نام تکراری وارد کرد اون messagebox براش نشان داده بشه و روال کار دوباره انجام بشه
این کدش


if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
foreach (string filename in openFileDialog1.FileNames)
{
if (File.Exists(a + Path.GetFileName(filename)))
{
DialogResult dr = MessageBox.Show(" فایل دیگری با نام" + filename + " موجود است برای تغییر نام فایل روی کلید yes کلید کنید!", "خطا", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
if (dr == DialogResult.Yes)
{
Form2 frm = new Form2();
frm.ShowDialog();
newname = myclass.str;
File.Copy(filename, a + Path.GetFileName(newname), true);
}
}
else
{
File.Copy(filename, a + Path.GetFileName(filename), true);
}
}
}

کجای این کد رو باید تغییر بدم

Mahdi.Kiani
یک شنبه 12 اسفند 1386, 11:47 صبح
سلام
می خوام اگه کاربر دوباره هم نام تکراری وارد کرد اون messagebox براش نشان داده بشه و روال کار دوباره انجام بشه


یه ترفند خیلی ساده اینه که موقع نمایش فرم مربوط به نام جدید، نامی که الان موجوده را به فرم مذکور پاس بدی.. و موقع تغییر نام، اونی که کاربر وارد کرده را با اونی که پاس داده به فرم، مقایسه کنی و تا زمانی که مساوی هستند 270 تا اخطار بهش بدی که برای دفعه بعد آدم بشه و نام یکسان وارد نکنه:لبخند:

البته مسلما نیاز به کمی تغییرات در فرم مربوطه هست.
می تونی یه property تعریف کنی و نام را به اون property پاس بدی و یا در constructor فرم اونو پاسش بدی
موفق باشید

saeid.yavary
یک شنبه 12 اسفند 1386, 12:09 عصر
سلام
منظورم از اینکه دوباره نام تکراری وارد کنه اینه که اگه نامی که وارد کرد با یکی دیگه از فایلهای داخل دیتاگرید همنام باشه
اینو باید چکار کنم!