ریست کردن فرم در سی شارپ :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam
حتما تا به امروز با فرم هایی که اشیاهایی که متغییر دریافت میکنند روبرو شدین
مثل فرمی با چندین تکست باکس یا چک باکس یا ...
در این مثال یاد میگیریم چطور همه تکس باکس یا چک باکس هارو خالی یا چک یا آن چک کنیم
احتمالا کدی که تا به امروز استفاده میکردین به شکل زیر بوده
textBox1.Text = "";
یا
textBox1.Clear();
و
checkBox1.Checked = false;
که اگه تعداد زیاد بود خط های متوالی زیادی مینوشتیم
textBox1.Text = textBox2.Text =textBox3.Text =textBox4.Text ="";
این روش ها کارایی خوبی دارن ولی اگه تعداد این شی ها خیلی خیلی زیاد بود این کار عاقلانه ای نیست
ما به کمک تکه کد زیر میتونیم خیلی راحت تر تمام تکست باکس هارو خالی کنیم.


foreach (TextBox v32 in this.Controls.OfType<TextBox>()) 
{
v32.Clear();
 }
به کمک تکه کد زیر هم میتونیم مقدار چک باکس هارو آن چک کنیم
foreach (CheckBox v32in this.Controls.OfType<CheckBox>())
 {
v32.Checked = false;
 }
این کدها در دکمه ریست در برنامه های کاربری بیشتر استفاده میشه
کدها رو کپی کنید ولی اگه فقط یکبار خودتون با دست تایپ کنید متوجه خواهید شد که کارهای زیادی میشه انجام داد
مثلا میشه چک باکس هارو بجای آن چک کردن ، همه رو چک کنیم و ...
ویا میتونیم برای شی های دیگه هم مثل این کد بنویسیم
دقت کنید یکی از مشکلات متداول دوستان با این کدها در این بود که ...
چک باکس ها یا تکست باکس هارو در یک گروپ باکس قرار داده بودن و هرچی این کد رو میزدن هیچ اتفاقی نمیوفتاد
اگه میخوایید مقدار اشیای درون گروپ باکستون رو تغییر بدین باید حتما گروپ باکس رو به شکل زیر تعریف کنید
foreach (CheckBox v32 in this.groupBox1.Controls.OfType<CheckBox>())
 {
v32.Checked = false;
 }
پیروز باشید

نظر (۱۳)

سلام ویروس ^_^
راه حل هوشمندانه ایه ولی یه مشکل داره
Virus32 MR_C0D3R ‌ :
سلام
قرار شده بود چیو به من خبر بدی ؟
ولی دمت گرم خیلی خوب خبر میدی ، دقیقا عین خودمی D;
خب مشکلشم میگفتی که نحوه ی رفعشو بگیم دیگه
یا اینکه شاید اصلا مشکل نبود و یه چیز دیگه بود :(
ما که فعلا از میادین تست کدهای سی شارپ دوریم
سلام
اینم عکس ازموقع اجرای کد
داداش هیچ فایلی ساخته نشد
Virus32 MR_C0D3R ‌ :
:/
سلام داداش خوبی ببخشید من یک مشکلی داشتم نمیدونستم زیر کدوم پست بزارم مربوط به سی شارپ بود اینجا گزاشتم اگه استباهه ببخش داداش من تو ویزوال استدیو یک کمبو روی فرم گذاشتم که توش مقادیریرو دارم مثلا ترات تبریز و شهر های دیگه توشه چطوری تو کد ها بگم که مثلا اگه از کمبو مقداری انتخاب نشده بود پیامی بده بگو که لطفا یکی از مقادیر رو انتخاب کنید و اگر انتخاب شد یکی کاری انجام بشه من خیلی تلاش کردم این کد ها رو تست کردم نشد :
if (combobox1.selectedtext =="")
{
messagebox.show("لطفا یکی از مقادیر رو انتخاب کنید")
}

یا

if (combobox1.selecteditem =="")
{
messagebox.show("لطفا یکی از مقادیر رو انتخاب کنید")
}

یا

if (combobox1.selectedvalue =="")
{
messagebox.show("لطفا یکی از مقادیر رو انتخاب کنید")
}

ولی به نتیجه ای نرسیدم combobox1.
بعد دات چی بزارم واقعا مخم سوت میکشه D:
Virus32 Virus 32 :
سلام عزیز
میتونی از کد زیر استفاده کنی
if (combobox1.Text =="")
{
messagebox.show("لطفا یکی از مقادیر رو انتخاب کنید")
}
ولی بهتره تو رویداد فورم لودت از کد زیر استفاده کنی تا کمبو باکست پیش فرض روی اولین مورد باشه
comboBox1.SelectedIndex = 0;
داداش چی شد سخت در انتظارم کمکم کنی میشه بگی چیکار کنم دیروز یک پست دادم در مورد کمبو باکس
Virus32 Virus 32 :
ببخشید عزیز نبودم
سلام ویروس جان تشکر بابت پست قبلی درست شد ولی حالا یک پروزه تمرینی دیگه شروع کرده بودم که دوباره به مشکل برخوردم ببینید داستان ابن بازی که دارم میسازم یک عکس هست و یک تکست باکس که روی عکس لیبل هایی رو چیدم و پشتشونو رنگی کردم برای پنهان کردن عکس و کاربر باید روی لیبل ها کلیک کنه و visibale لیبل ها False بشه و مقداری از عکس رو ببینه و من یک متغیر تعرف کردم که مقدارش 3 می باشد که هر بار روی لیبل ها کلیک کنند یکی از ان متغیر کم می شود تا اینکه به 0 میرسد من تعیرف کردم که اگر متغیر من شد 0 مسیج باکس بگه کلیک های شما تمام شد حاتل جواب نهایی را بنویسید ولی بعد این پیام دوباره میشه روی لیبل ها کلیک کرد و مقدار متغیر من میشه -1 -2 -3 ولی من می خوام وقتی به 0 رسید دیگه همه ی لیبل هایی که چیدم روی عکس برای پوشاندن غیر فعال بشنیعنی نشه روشون کلیک کرد ایا میشه کمکم کنی بگی کدش چیه ؟
Virus32 Virus 32 :
سلام عزیز
اگه لیبل هات تو فرم هستن و داخل گروپ باکس یا پنل نیستن بعد یا قبل از پیام پایان تعداد کلیک کد زیر رو بنویس
foreach (Label v32 in this.Controls.OfType<Label>())
{
v32.Enabled = false;
}
این کد تمام لیبل های فرم رو غیر فعال میکنه
و یا میتونی از کد زیر استفاده کنی
label1.Enabled = label2.Enabled = label3.Enabled = false;
اسم لیبل هاتو هر چی که هست و هرچند تا که هستن رو باید بنویسی
فرقشم با کد بالاتر در اینه که اینجا میتونی انتخاب کنی که کدوم لیبل ها غیر فعال باشن و ...
ببخشید ویروس جان میشه یک کد دیگه رو هم کمک کنی فرض کن یک فرم دارم روی ان یک دکمه دارم من می خواهم وقتی روی دکمه کلیک می کنم یک فرم دیگر باز شود و فرمی که روی ان دیکه بود بسته شود
Virus32 Virus 32 :
میخوایی فرم ورود بسازی برای برنامه ات؟
اگه نه جواب سوالت میشه :
Form2 v32 = new Form2();
v32.Show();
this.Close();
اگه آره :
Form1.ActiveForm.Visible = false;
Form2 v32 = new Form2();
v32.Show();
در صفحه لاگین فرم اصلی نباید بسته بشه چون در صورت بسته شدن کل برنامه متوقف خواهد شد
پس فقط مخفیش میکنیم
و در فرم دوم برای پایان کار دستور بسته شدن کل برنامه رو باید بدی
 private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
سوالاتو نامفهوم مطرح نکن شاید دیگه جواب ندم
رک و پوس کنده بپرس
داداش با این کدی که گفتی فقط یک فرم جدید خالی می سازد نمیشه یک فرمی که مثلا ساخته ایم یعنی طراحی کرده ایم و دو فرم به نام های form 1  و form 2 داریم من داخل for1 هستم یعنی همان فرم پیش فرض می خواهم فرم 2 رو صدا بزنم و فرم 2 که باز شد فرم 1 نشان داده نشود
Virus32 Virus 32 :
خوب منم همونو گفتم دیگه
به کدها دقت کن
Form1.ActiveForm.Visible = false;
Form2 v32 = new Form2();
v32.Show();
در خط اول فرم اولت form 1 رو ابتدا مخفی میکنیم و
در خط دوم فرم دومت form 2 رو تعریف میکنیم
در خط سوم هم فراخوانیش میکنیم دیگه
ویروس جان واقعا شرمنده ولی خب من این کد هایی که نوشتی رو زدم بجای Form1 چون من اسم فرم رو عوض کردم زدم Menu ولی به کد بعدی یعنی ActiveForm ارور میده زیرش خط میکشه و میگه please firm type argumant System.windows.forms.mainmenu
منم بالا نمیدونم اشتباه کردم یا نه با using اینو تعریف کردم ولی باز ارور میده همین ارور رو میشه کمکم کنی ؟

Virus32 Virus 32 :
میتونی ازش عکس بفرستی؟
ویروس جان ببین اینا ظاهر کارمن :
http://s9.picofile.com/file/8356172884/ChooseLevel.png
http://s9.picofile.com/file/8356172868/Level1.png
عکسی که نوشته انتخا مرحله فرم اصلی برنامس و مرحله ی اولم که عکسشو گزاشتم یک فرمی هست که بعدا ادد شده و اینم اسکریپتشه که وقتی توی فرم اصلی رو ی لول 1 یا همون مرحله ی 1 کلیک کردیم فرم بعدی باز بشه
http://s9.picofile.com/file/8356172892/ChooseLevelScript.png
خب ؟!!
الان مشکل من اینه که من می خوام توی اسکریپت های مرحله ی یک بگم وقتی برنده شدم دوباره برگرده فرم اصلی این بار لول 2 یا مرحله ی 2 عکسش اینویزیبل بشه که نمیشه چون تو فرم اصلی اینا ساخته شدن تو این فرم جدیدم نمیشه اسم اون پیکچر باکس رو نوشت :| مینویسم LockLevel2 که اسم پیکچر باکسمه ارور میده که نمیشه از این استفاده کرد نمیدونم منظورمو فهمیدی یا نه
Virus32 Virus 32 :
توی فرم اصلی (والد) ابتدا این متغییر ها رو تعریف کن
public static string v32 = "";
public String coder
{
set
{
v32 = value;
}
}
بعد این کلاس رو بساز
public void unvis()
{
if (v32 == "1")
{
LockLevel2.Visible = false;
}
else
{
LockLevel2.Visible = true;
}
}
بعد کلاست رو تو اکتیو فرم تعریف کن (اکتیو فرم اصلیت)
private void Form1_Activated(object sender, EventArgs e)
{
unvis();
}
از قسمت تنظیمات مقدار Modifiers شی ها (تصاویرت یا هرچیزی که از فرم های دیگه میخوایی دستکاری روشون انجام بدی) رو بزار روی Public


حالا تو فرم های بعدی (فرزند ها)
ابتدا فرم اصلی رو تعریف کن
Form1 cd = new Form1();
بعد به کمک دکمه نهایی یا تایمر یا هرقسمتی که تعریف میکنی باید به متغییری که در فرم اصلی تعریف کردیم مقدار یک رو بدی
cd.coder = "1";
یک یعنی اون مرحله رو برده در غیر این صورت هم نبرده دیگه
هر وقت فرم اصلی نمایش داده شد تغییرات رو احساس خواهی کرد
اونجا گفتی این کلاس رو بساز توی فرم والد بسازم ؟
اصلا متوجه نمیشم تا اونجاییی هم که ساختم اصلا گیچ شدم نمیدونم شاید چون تازه کارم شاید بلد نیستم ولی تا اینجاش خوب اومد ولی خواستم مرحله ها رو زیاد کنم تو این فرم های والد و فرزند ها گیر کردم بی نظیره :|
Virus32 Virus 32 :
تا قبل خط مربوط به فرم اصلیه
بعد از خط فرم های فرزند
ساده توضیح دادم
کپی پیست کنی ام حله
بیشتر تمرکز کن
ویروس جان میدونم سرت شلوغه واسه اینجور چیزا وقت نداری ولی اگه امکان داره به خاطر من یا مثلا زیر بعضی از پست های قدیمی می نوستی اینو به خاطر کاربر فلانی گذاشتم اینم به خاطر من بزار اگه امکان داره این کد ها رو بنویس همین فقط کد های والد و فرزند رو و سورسشو اینجا بزار منم بردارم استفاده کنم هم من استفاده می کنم هم اینکه تو به من کمک کردی به خدا خوش میره فقط کد هایی که بالا گفتی رو می خوام و اگه بشه با کامنت توضیح بده چیکار می کنن منظورم تو پروزه // مرسی مدیونتم
Virus32 Virus 32 :
اینو برای تو نوشتم عزیز :)
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
ویروس جان عشق منی خیلی این روزا زحمت دادم بهت منو ببخش ولی بالاخره ما نوبیم مدیونتم هرچی هم سوال بپرسیم باز اونقدر تکمیل نمیشیم که روی پای خودمون وایسیم بالاخره ... و یک سوال دیگه داشتم نمیدونم تو سر زشتته یا نه من می خوام بالای سایت خودم تایپ خودکار ایجاد کنم نمیدونم با جاوا می سازن یا پی اچ پی  مثلا بالای این سایت رو نگاه کن
***************
اون بالا می نویسه :
بهترین ارائه دهنده سرورهای گیمینگ
 تقریبا می خوام اینطوری باشه البته این کامل نیست بعضی از سایت ها هست می نویسه و بعد پاک می کنه متن دیگه می نویسه میشه کمکم کنی  عشق منی 3>
Virus32 Virus 32 :
اختیار داری مشکلی نیست
این پست رو بخون

سلام میشه توی این مشکل کمکم کنید لطفا...من در اصل سه تا فرم دارم و میخام از اطلاعاتی که کاربر1 در فرم اول و کاربر 2در فرم دوم وارد میکنه..در فرم سومم استفاده کنم باید چیکار کنم؟؟؟((فرم اول و فرم دوم هر دو شامل یک نام و یک عدد هستند که کاربر وارد میکند))

Virus32 32 Attacker ‌ :
باید متغیر هاتو به صورت Public تعریف کنی یا اگه از اشیا استفاده میکنی حالت Modifiers رو بزاری روو Public
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی