PDA

View Full Version : سوال: اجرای برنامه با تابع Main



BestLover
چهارشنبه 18 آذر 1388, 01:38 صبح
سلام به دوستان

من می خوام که برنامه ام با تابع main شروع بشه اما باید نوع پروژه از نوع Windows application باشه.

اینکار در C#‎ بصورت خودکار انجام می شه. یعنی اولین قسمت برنامه که اجرا می شه تابع main هست و در این تابع فرم اصلی برنامه فراخوانی میشه؟

لطفا راهنمایی کنید

viper2009
چهارشنبه 18 آذر 1388, 01:57 صبح
سلام به دوستان

من می خوام که برنامه ام با تابع main شروع بشه اما باید نوع پروژه از نوع Windows application باشه.

اینکار در C#‎‎‎ بصورت خودکار انجام می شه. یعنی اولین قسمت برنامه که اجرا می شه تابع main هست و در این تابع فرم اصلی برنامه فراخوانی میشه؟

لطفا راهنمایی کنید

مگه در VB چی کار می کنه که می خوای از Main لود بشه؟

BestLover
چهارشنبه 18 آذر 1388, 02:23 صبح
میشه خیلی کار کرد...

لطفا به اصل سوال دقت کنید

Mani_rf
چهارشنبه 18 آذر 1388, 14:37 عصر
در قسمتی از کدها این تابع را تعریف کن :


Public Sub New()

End Sub


این تابع قبل از تابع فرم لود فراخوانی می شود.

Computer.Programmer
چهارشنبه 18 آذر 1388, 17:01 عصر
دلیل جواب های متفاوت گنگ بودن سوالتونه. لطفاً بیشتر توضیح بدید

BestLover
چهارشنبه 18 آذر 1388, 21:33 عصر
سلام

متشکر از جوابتون

اما به نظر من سوال ساده هست. فقط کافیه که یک پروژه ازنوع c# ایجاد کنید اونوقت می بینید که روال شروع کننده پروژه تابع Main هست اما اگه یک پروژه VB ایجاد کنید مشاهده میکنید که روال شروع کننده از فرم اصلی فراخوانی میشه.

حالا من می خوام که همین کار رو در VB انجام بدم.

با تشکر

Hossis
چهارشنبه 18 آذر 1388, 22:11 عصر
دوست عزیز
اول باید یک ماژول ایجاد کنید و یک تابع در اون ایجاد کنید به نام Main به این صورت


Module Module1
Public Sub Main()
Form1.Show()
End Sub
End Module

بعد هم با راست کلیک بر روی آیتم پروژه و انتخاب پروپرتیس،‌ وارد قسمت ویژگیهای پروژه شوید
در قسمت StartUp Form باید گزینه Sub Main را انتخاب کنید
به همین سادگی

Mani_rf
چهارشنبه 18 آذر 1388, 22:28 عصر
در قسمتی از کدها این تابع را تعریف کن :


Public Sub New()

End Sub


این تابع قبل از تابع فرم لود فراخوانی می شود.

دوست عزیز؟ من که پاسخ شما را در بالا داده بودم!
این روش را امتحان کنید.

Computer.Programmer
چهارشنبه 18 آذر 1388, 23:07 عصر
دوست عزیز
اول باید یک ماژول ایجاد کنید و یک تابع در اون ایجاد کنید به نام Main به این صورت


Module Module1
Public Sub Main()
Form1.Show()
End Sub
End Module

بعد هم با راست کلیک بر روی آیتم پروژه و انتخاب پروپرتیس،‌ وارد قسمت ویژگیهای پروژه شوید
در قسمت StartUp Form باید گزینه Sub Main را انتخاب کنید
به همین سادگی

حق با آقا حسین هستش. البته یک راه دیگه هم برای این کار وجود داره که به نظر من جالبتره اونم استفاده از کلاس MyApplication هستش. که در این کلاس می تونید با Overrides کردن متد OnCreateMainForm فرم Main رو مدیریت کنید. علاوه بر این از رویدادهای دیگش مثل Startup یا StartupNextInstance و ... می تونید استفاده کنید.

موفق باشی

BestLover
پنج شنبه 19 آذر 1388, 12:20 عصر
با تشکر از جوابتون

اما من نتونستم که اینکار رو با توجه به توضیحات شما انجام بدم
اگه امکان داره یه مثال اینجا بذارید

Computer.Programmer
پنج شنبه 19 آذر 1388, 15:39 عصر
با تشکر از جوابتون

اما من نتونستم که اینکار رو با توجه به توضیحات شما انجام بدم
اگه امکان داره یه مثال اینجا بذارید

دوست عزیز مشکل شما چیزی نیست که بخوام براتون مثال بذارم. این کار به صورت آماده در VS وجود داره. راهنماییتون می کنم تا چه طور به این کلاس (MyApplication) دسترسی داشته باشید.

در Solution Explorer روی پروژۀ مد نظر کلیک کنید و سپس از منوی این پنجره دکمۀ Show All File رو بزنید. حالا زیر شاخۀ MyProject را باز نمایید. زیر شاخۀ Application.myapp را نیز باز نمایید. حالا فایل Application.Designer.vb رو باز کنید در صورتی که پروژۀ شما از نوع Windows Application باشد کدها را مشاهده می کنید. حالا نگاهی به ساب OnCreateMainForm بیاندازید. فرم main با پراپرتی MainForm برای Application معرفی شده است که شما می توانید این فرم را مدیریت نمایید و کدهای آن را در همین روال بنویسید. درباره آن رویدادها هم که قبلاً گفتم اگر نگاهی به لیست رویدادهای کلاس MyApplication بندازید آنها را هم مشاهده می کنید. و می تونید از اونها استفاده کنید.

موفق باشید.