اچی جان من با این کد شما مشکل دارم راه بهتری نیست ؟
مثلا لود اطلاعات در اسپلش ؟
Printable View
اچی جان من با این کد شما مشکل دارم راه بهتری نیست ؟
مثلا لود اطلاعات در اسپلش ؟
سلام
نباید به مشکلی بربخورید!!!
از sub main استفاده کنید.
راه قطعی و بهترین راه.
و البته با تنظیم زیر:کد:<STAThread()> Public Shared Sub Main()
Dim lcid As Integer = My.Settings.Int32Language
If (lcid > 0) Then
Dim culture As New System.Globalization.CultureInfo(lcid)
System.Threading.Thread.CurrentThread.CurrentCulture = culture
System.Threading.Thread.CurrentThread.CurrentUICulture = culture
End If
System.Windows.Forms.Application.EnableVisualStyles()
System.Windows.Forms.Application.Run(New Form1)
End Sub
Project->Properties->Application
آیتم Enabled Appilication framework را از انتخاب خارج کنید و از کامبو Startup گزینه Sub Main را انتخاب کنید.
سلام اچی جان
بله قبول دارم راه قطعی هست اما این طور ما فرام ورک رو از برنامه میگیریم درسته ؟
یعنی استایل و ستینگ و .... اسپلش
که این اصلا به درد نمیخوره
شما راهی بهتر سراغ نداری ؟
سلام
بجز مورد splash بقیه موارد که ذکر کردید اشتباه هستند.نقل قول:
بله قبول دارم راه قطعی هست اما این طور ما فرام ورک رو از برنامه میگیریم درسته ؟
یعنی استایل و ستینگ و .... اسپلش
که این اصلا به درد نمیخوره
اگر توانستید framework را از vb.net و c#.net بگیرید، خبرم کنید!
در واقع این Enabled Appilication framework اصلاً ارزشی ندارد!
اصلاً C#.Net و Vc++.Net آنرا برای برنامه نویسانشان ندارند، همه برنامه های C#.Net و VC++.Net مستقیماً با subMain شروع میشوند.
من شخصاً استفاده از sub main را به vb کارها هم توسیه میکنم.
برای splash هم به سادگی میتوانید آنرا قبل از فرم اصلی و به مدت مشخصی نمایش دهید، همش 4 یا 5 خط کد میشود.
اچی جان یعنی راهی نداره به جز این ؟:41:
ایا نمیشه اطلاعات رو در اسپلش که قبلا از فرم هست لود کرد
سلام
من واقعاً ناراحتی و مشکل شما درک و احساس نمیکنم!!!!؟؟؟؟نقل قول:
اچی جان یعنی راهی نداره به جز این ؟
شما به راحتی میتوانید کد را در sub main یا sub new قرار دهید و هیچ کدام مشکل و عیبی ندارند!!!
اگر هر یک ایرادی دارند، خوشحال میشوم من هم بدانم.
بله باید بشود، تست کنید.نقل قول:
ایا نمیشه اطلاعات رو در اسپلش که قبلا از فرم هست لود کرد
در قبل از load هر فرمی دستور شما اجرا شود، فرم هایی که بعد از ان load خواهند شد متاثر خواهند شد.
حال این کد میتوانید هر کجا اجرا شود.
(
البته این تا حدودی روش منطقی و خوبی هم است.
یعنی در یک برنامه کامل، معمولاً از sub main استفاده میشود و فرم splash نشان داده شده و اعمال بارگذاری آغاز میشود.
)
=====
بهرحال شما میتوانید از هر کدی که سلاح میدانید و مناسب میبینید استفاده کنید.
مشکی داشتید همچنان درخدمت هستم
موفق باشید.
سلام اچی جون
همین که جواب ما فقیر فقرا رو میدی دمت گرم
ببین من یه فرم درست کردم با اسم اسپلش و اون رو لود قرار دادم
بعد در یک تایمر با اینترنئال 1 کد زبان رو نوشتم و در یک تایمر دیگه با اینتروال 100 کد مخفی کردن فرم و نمایش فرم 1
ولی بازم کار نمیکنه ؟
مشکل چیه ؟
سلام
اگر کد را بگذارید شاید بتوانم ایرادش را پیدا کنم ولی الآن تئوری ندارم!نقل قول:
ولی بازم کار نمیکنه ؟
مشکل چیه ؟
=====
ولی من برای خودم معمولاً از چیزی شبیه این استفاده میکنم.
تا تمام بارگذاری را انجام دهم.
حلقه while اخر هم تضمین میکند که اگر فرآیند بارگذاری کمتر از 3 ثانیه طول کشیده باشد، حتماً فرم Splach سه ثانیه نمایش داده شده باشد.
(البته خود من به شخصه اصلاً از این کار خوشم نمی آید و هیچگاه صبر اجباری را تحمیل نمیکنم)
کد:
<STAThread()> Public Shared Sub Main()
System.Windows.Forms.Application.EnableVisualStyles()
Using f As New frmSplashScreen
f.Show()
Dim mindate As Date = Date.UtcNow.AddSeconds(3)
'Loading... (reading settings)
'f.Report("...")
'Loading... (connecting to database)
'f.Report("...")
'Loading... (scaning plugings)
'f.Report("...")
'f.Visible = False
'Loading... (security authenticate)
'f.Visible = True
'Loading... (security authorize)
'f.Report("...")
'Loading... (main form with Visible=False for Application.Run)
Do While (Date.UtcNow < mindate)
System.Threading.Thread.Sleep(100)
System.Windows.Forms.Application.DoEvents()
Loop
End Using
System.Windows.Forms.Application.Run(New frmMdiMain)
End Sub
بفرما اچی جان
کد:http://www.up.ma/images/ptr33ejjk7a8ojaodfo.rar