473,396 Members | 1,706 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

VB 2005 Splash Screen Opacity Problems

I have migrated a vb.net program to vb 2005. I am going nuts trying to fix this.

There is a splash screen that fades in and then in the background some sub procedures are taking place.

Here is the original code; This code gives me cross threading errors dealing with the opacity.

Expand|Select|Wrap|Line Numbers
  1. Private myDebuglog As DebugLog = ApplicationDebugLog
  2.     Private FormAlpha As Double = 0
  3.     Private WithEvents AlphaTimer As New System.Timers.Timer
  4.     Private WindowsSecurityPrincipal As System.Security.Principal.WindowsPrincipal = New System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent())
  5.     Private ntUserName As String
  6.     Private strt As System.Threading.Thread
  7.  
  8.  
  9.     Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.         ' Fill in the user box
  11.         ntUserName = WindowsSecurityPrincipal.Identity.Name.ToString
  12.         ntUserName = ntUserName.Replace("ILIOSPARTNERS\", "")
  13.         Me.txtLogin.Text = ntUserName
  14.         FormAlpha = 0.0
  15.         Me.Opacity = FormAlpha
  16.         AlphaTimer.Enabled = False
  17.         AlphaTimer.Interval = 10
  18.  
  19.         AlphaTimer.Enabled = True
  20.         'strt = New System.Threading.Thread(AddressOf AlphaTimer_Tick(AlphaTimer,)
  21.     End Sub
  22.  
  23.  
  24.  
  25.     Public Sub AlphaTimer_Tick(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles AlphaTimer.Elapsed
  26.  
  27.         If FormAlpha >= 1 Then
  28.             AlphaTimer.Enabled = False
  29.             Me.Opacity = 1.0
  30.         Else
  31.             Me.Opacity = FormAlpha
  32.             FormAlpha += 0.05
  33.             Me.Refresh()
  34.         End If
  35.     End Sub
  36.  
  37.     Public Sub UpdateStatus(ByVal status As String)
  38.         lblLoadingStatus.Text = status
  39.         Me.Refresh()
  40.     End Sub
  41.  
  42.  
  43.     Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
  44.         Me.Dispose()
  45.         Application.Exit()
  46.     End Sub
---------------------------------------------------------------------------------------------------------------
So I modified the code to like this thinking this would solve the problem but now I get disposed errors.

here is the revised code;

Expand|Select|Wrap|Line Numbers
  1. Private myDebuglog As DebugLog = ApplicationDebugLog
  2.     Private FormAlpha As Double = 0
  3.     Private WithEvents AlphaTimer As New System.Timers.Timer
  4.     Private WindowsSecurityPrincipal As System.Security.Principal.WindowsPrincipal = New System.Security.Principal.WindowsPrincipal(System.Security.Principal.WindowsIdentity.GetCurrent())
  5.     Private ntUserName As String
  6.     Private strt As System.Threading.Thread
  7.  
  8. Private Sub frmSplash_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
  9.         strt = New System.Threading.Thread(AddressOf updateValues)
  10.         strt.Start()
  11.         ' Fill in the user box
  12.         ntUserName = WindowsSecurityPrincipal.Identity.Name.ToString
  13.         ntUserName = ntUserName.Replace("ILIOSPARTNERS\", "")
  14.         Me.txtLogin.Text = ntUserName
  15.         FormAlpha = 0.0
  16.         Me.Opacity = FormAlpha
  17.         AlphaTimer.Enabled = False
  18.         AlphaTimer.Interval = 10
  19.  
  20.         AlphaTimer.Enabled = True
  21.         'strt = New System.Threading.Thread(AddressOf AlphaTimer_Tick(AlphaTimer,)
  22.     End Sub
  23.  
  24.  
  25.  
  26.     Public Sub AlphaTimer_Tick(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles AlphaTimer.Elapsed
  27.         updateValues()
  28.  
  29.     End Sub
  30.  
  31.     Public Sub updateValues()
  32.         If FormAlpha >= 1 Then
  33.             AlphaTimer.Enabled = False
  34.             changeOpacity()
  35.             'Me.Opacity = 1.0
  36.         Else
  37.             changeOpacity()
  38.             'Me.Opacity = FormAlpha
  39.             FormAlpha += 0.05
  40.             Me.Refresh()
  41.         End If
  42.     End Sub
  43.  
  44.     Public Sub UpdateStatus(ByVal status As String)
  45.         lblLoadingStatus.Text = status
  46.         Me.Refresh()
  47.     End Sub
  48.  
  49.  
  50.     Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
  51.         Me.Dispose()
  52.         Application.Exit()
  53.     End Sub
  54.  
  55.     Public Sub changeOpacity()
  56.         If Me.InvokeRequired Then
  57.             Me.Invoke(New MethodInvoker(AddressOf ChangeOpacity))
  58.         Else
  59.             Me.opacity = FormAlpha
  60.         End If
  61.     End Sub
Mar 1 '07 #1
1 1431
kenobewan
4,871 Expert 4TB
Please state the error in full and whether it gives you a line number. Also more info about the platform you are working in might help, OS, .net version etc. Thanks.
Mar 2 '07 #2

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: BillZondlo | last post by:
Can someone look at this and tell me why, when I call this from my main app, it displays fine (fades form in and out) but then before my main app displays, I see other dialog boxes flash...
6
by: xhenxhe | last post by:
Anyone know of any how-to's on creating splash screens? -- Dustin -- http://www.LDSPDA.com http://www.Shiblon.com
6
by: freddy | last post by:
I want my app to load a splash screen first than the app. I want this very simple please ( new to vb.net)
0
by: Steve | last post by:
Hi All I have an odd thing happening with my splash screen form The splash screen is set in Project properties and in the 'new' event of the splash form I run some code (before the...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.