PDA

View Full Version : ()this.hide



barnamenevis300
پنج شنبه 15 تیر 1391, 09:11 صبح
چرا وقتی از این دستور this.hide استفاده میکنم برای پنهان کردن فرم در همه جا کارایی داره جز قسمت form_load

؟

FastCode
پنج شنبه 15 تیر 1391, 09:25 صبح
چون در Form.OnLoad یا همون Form_Load هنوز Form شما Load نشده و نمیتونه Hide بشه

barnamenevis300
پنج شنبه 15 تیر 1391, 09:45 صبح
پس برای راه حل چکار کنم که فرم در عین اجرا شدن visible نباشه و برای نمایش دادنش از
notifyIcon

و
contextMenuStrip1_

استفاده بکنم؟

FastCode
پنج شنبه 15 تیر 1391, 10:01 صبح
Form رو Show نکنید.دستوراتی که میخواهید در Form_Load بنویسید رو در Constructor بنویسید.
در NotifyIcon هم از Form.Show میتونید استفاده کنید.مشکلی نداره.

samadblaj
پنج شنبه 15 تیر 1391, 10:22 صبح
سلام برای load هیچ روش منطقی نداره فقط میتونید این کار رو کنی :

Opacity = 0;
ShowInTaskbar = false;

Opacity = 100;
ShowInTaskbar = true;

barnamenevis300
پنج شنبه 15 تیر 1391, 10:31 صبح
اگه منظوروتون از کنستراکتور


public Form1()

{

InitializeComponent();



}
هست اینجا هم کردم نشد

اصلا من موندن چرا تو قسمت properties فورم هرچی میگردم خصوصیتی به نام visible وجود نداره؟ که از همون اول رو false بزارمش.

mousa1992
پنج شنبه 15 تیر 1391, 11:00 صبح
private void Form1_Activated(object sender, EventArgs e)
{
this.Hide();
}

اینو امتحان کن بینم به کارت میاد

returnx
پنج شنبه 15 تیر 1391, 11:43 صبح
شما می تونید کدتون رو در رویداد paint هم بنویسید...

barnamenevis300
پنج شنبه 15 تیر 1391, 12:51 عصر
میشه راجع به رویداد ها توضیح بدید؟ همچنین رویداد بخصوص paint

FastCode
پنج شنبه 15 تیر 1391, 13:13 عصر
منظور من این نبود که در سازنده فرمتون رو مخفی کنید.اصلاً show نکنید

FastCode
پنج شنبه 15 تیر 1391, 13:14 عصر
سلام برای load هیچ روش منطقی نداره فقط میتونید این کار رو کنی :

1
2
Opacity = 0;
ShowInTaskbar = false;





1
2
Opacity = 100;
ShowInTaskbar = true;






در سیستم هایی که 3D Acceleration ندارند کار نمیکنه

returnx
پنج شنبه 15 تیر 1391, 13:18 عصر
هر شی ای رو که در نظر بگیرید چه در واقعیت و چه در برنامه نویسی شی گرا در حالت های خاصی یک رفتاری رو از خودشون نشون میدن که به این رفتار اصطلاحا میگیم رویداد...
به طور مثال شما یک در رو به عنوان یک شی حقیقی در نظر بگیرید ، این در ممکنه بسته شه ، یا باز شه یا دستگیرش پایین باشه یا بالا ، به این حالت ها میگن رویداد...
حالا شما یک فرم رو به عنوان یک شی مجازی در نظر بگیرید ، این فرم ممکنه Load باشه یا Unlaod یا در حال Load شدن باشه یا در حال Unlaod شدن ، یا بسته باشه یا در حال بسته شدن ....
به این اتفاق ها می گیم رویداد...
شاید برنامه نویس نیاز داره در حالت باز شدن فرم قطعه کدی اجرا بشه ، اون کدی که در رویداد Load یا همون ( onLoad ) می نویسید ، میشه همون قطعه کدی که باید اجرا شه...
رویداد paint هم زمانی اتفاق میفته که شی فرم در حال ترسیم شدن هست...
رویداد های فرم زیادند اما پر کاربرد ترینشون :
Load >>>>>>>>>>> بار گذاری فرم در Ram
Resize >>>>>>>>>وقتی اندازش تغییر پیدا کرد
Paint >>>>>>>>>>> ترسیم شدن
Closing >>>>>>>>> در حال بسته شدن
Closed >>>>>>>> زمانی که کاملا بسته شد (یا در واقع از Unload شد)
Activated >>>>>>>>>> زمانی که فرم فعال هست (در اصطلاح Focus رو فرم هست)
DeActivated >>>>>>>> بر عکس بالا
Move >>>>>>>>>>> زمانی که فرم در صفحه نمایش در حال حرکت است
Change Location >>>>>>>وقتی که فرم مختصاتش تغییر کرد
Shown >>>>>>>>> زمانی که فرم کاملا نمایش پیدا کرد
و.......
بعضی از این رویداد ها پارامتر هایی به شما بر می گردونند که می تونه بهتون خیلی کمک کنه ...
مثلا شما می خواهید در هر لحظه که Mouse رو فرم شما حرکت میکنه ، مختصات فعلیش بدست بیارید می تونید به صورت زیر عمل کنید:



int current_x, current_y;

current_x = e.X;

current_y = e.Y;

بدیهیه که کد بالا رو باید در رویداد Mouse Move بنویسید...
و قابل بذکر تقریبا تمامی اشیا رویداد هایی دارن که بعضی هاشون با هم مشترک و بعضی ها هم خاص خود اون شی هست...