It appears that when you access My.Settings.Default in VB.NET, your thread's CurrentPrincipal changes. Consider the following code.
[Code]...
Is this expected? Is it documented anywhere? I couldn't find any references to it.It also seems to only do this the first time My.MySettings.Default is accessed, which means that a workaround might be to touch the property to initialize it before attempting to set the thread's CurrentPrincipal. Would there be any undesirable side effects to doing that?
As we know, one STA UI thread creats the controls only canbe accessed in the UI thread in Winform application. And we need to call control.invoke or begininvoke to run the code in the background thread.
Yes, below code in VB.Net , VS 2010 Winform project can throw the exception "Cross-thread operation not valid: Control 'Form1' accessed from a thread other than the thread it was created on."
I need to authenticate a user against LDAP/AD (windows 2008 r2) so I can leverage the domains password rules etc... I found code that will allow me to validate a users ID and Password entered into a form (using System.DirectoryServices.DirectoryEntry) but my problem is if the user enters an invalid password more that AD is configured to allow, the account gets locked out. Is there anyway around this?
I have a function that is called when a file is modified in a folder. This function updates the items of a listview which is stored in the UI.Here is the function :
Private Sub FileChangeNotify() Try LstMoulures.Items.Refresh()
I have an exceptionhandler function that basically just writes a line to a textbox on Form1. This works fine when being run normally but the second I use a thread to start a process it cannot access the property. No exception is thrown but no text is written to the textbox:
Public Sub ExceptionHandler(ByVal Description As String, Optional ByVal Message As String = Nothing) ' Add Error To Textbox If Message = Nothing Then Form1.txtErrLog.Text += Description & vbCrLf Log_Error(Description) [Code] .....
Is it possible to access a form's properties from a thread this way or would it be easier to write to a text file or similar and refresh the textbox properties every 10 seconds or so (Don't see this as a good option but if it's the only way it will have to do!).
I�m having trouble accessing a flexgrid from a different thread.Basically in my main mdiParent I have some code like this, this code is triddered when the aplication receives a message from a remote client
Public Delegate Sub UpdateActionsGridStatusDelegate() Me.Invoke(New UpdateActionsGridStatusDelegate(AddressOf frmActions.UpdateActionsGridStatus))
I also have a form called frmActions, which contains the function �UpdateActionsGridStatus�
Public Sub UpdateActionsGridStatus() MsgBox("Actions row cnt = " & Me.flxActions.Rows.Count - 1) End sub
If I run it from a button on the flxActions form it works fine.When I run this function from a thread it returns 0 rows!
im trying to access a richtextbox from another class and thread then the ui and i cant seem to get it working. I currently have the sub thats handling the the work inside of a public class and its a sharedsub, im going to be calling it from several different classes and threads but again i cant seem to get it working. the code looks like this. Public Class SharedSubs
[code]...
i would be calling sub using SharedSubs.Console("stringstring") when this is called from the ui thread it works fine but when its called from anyother thread or class its does nothing,ive confirmed it going thru this code but its not displaying anything in the textbox and its not thru an exception due to delegates either which i figured it would.
I'm trying to update a dependancy property in VB.Net 4.0 inside of an Async callback. I feel like I am doing this correctly but I'm still getting the "The calling thread cannot access this object because a different thread owns it." error. Does someone see a better way of using delegates in VB.Net 4.0?
Private WithEvents myObj as CallingObject Private Delegate Sub MyErrorDel(ByVal strError as string) Public Property ErrorMessage As String
[code]....
Whenever ErrorMessage gets set inside of DisplayError an exception gets thrown, even though I am using the dispatcher to call DisplayError.
In my program (PassGen) i have a DataGridView control that stores passwords.But when i add more about 20,000 or more entries at the same time (using "Generate List", UI freezes up for a few minutes.I tried to add new entries from a background thread (so main thread will redraw the form), but run into exceptions How to do that?
I have a form with Check Boxes on it and a second form that holds functions and a Backgroundworker.When a button is pressed on the first form, the second form loads and then runs the functions that relate to the appropriate Check Boxes.Doing it this way causes the second form to become inaccessible. I decided to run my code in the Backgroundworker's DoWork event and then call the RunWorkerAsync method in my form's Activated event. Before using the Backgroundworker, everything worked fine and now it doesn't.I assume the issue is with the Backgroundworker not being able to access controls on another thread.In debug mode,it automatically throws an exception, but doesn't error out when using the Release version, making me assume it's a legal call. But, if it's a legal call, then why can't I access the controls?
In a .NET 3.5 Winforms app, after a user provides a username and password, I set a custom principal in the CurrentPrincipal property like this:My.User.CurrentPrincipal = Service.GetPrincipal(username)This is done in a method that is called using Invoke, because the originating thread is not the UI thread:Invoke(New Action(AddressOf doLogin))But when I click on a button in the Winforms application, the CurrentPrincipal property has been reverted to its default, the current Windows user.Dim lPrincipal = My.User.CurrentPrincipal ' not my custom principalApparently, using Invoke while setting the principal does not solve the problem. Is there another way to set the CurrentPrincipal property for all threads in the application?
c: Documents and Settings [Local Settings] Application Data\
Is possible to change this path? For example, in my case I save app data in "ProgramData" folder (Vista & W7) and I would like save this config file in the same folder.
Private Sub SaveButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SaveButton.Click Dim Config As Configuration Dim Section As ConnectionStringsSection
I want to store a 2-dimensional array with 5 columns and indefinite rows in My.MySettings. I've tried to use a Class with an item list (list(of T)) but also a StringCollection.
I've been tortured with this question for few days. As I understood, you could put some of form's properties to mysettings, actually binding them with some named values as strings.It's not very hard, and it was well documented. I tried it and it works fine.Only, not all properties are offered to be bound with mysettings, only some of them. For example, you could bind starting position and windowstate, close your application, and when you open it again, it will open the same window on the same place on the
I have a connectionstring in MySettings which all my datasets use. The project has three copies of the same database: LIVE, WHATIF and TEST. I need to have a dialog in my startup that asks the user which db they want to use and then I thought I could amend MySettings.Connection string dynamically. Hey-ho it's read-only! Is there any other approach I can use where I change a connection string once and all my datasets will then point to the selected db?
Well currently I'm needing to store various settings, strings, integers, items, etc, within the program settings. So far this has gone without a snag and is working as planned except for one thing, Comboboxes. I have browsed through the various types of settings I can save to and the closest is a "System.Collection.Specialized.StringCollection", however VB is throwing up an error saying that:
Quote:
Error1Value of type 'System.Windows.Forms.ComboBox.ObjectCollection' cannot be converted to 'System.Collections.Specialized.StringCollection'.C:UsersUserAppDataLocalTemporary ProjectsProjectForm1.vb1234Project
How would I go about saving the items in a Combobox?
In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"
Dim Terminados As Integer = 0 Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Start()
[code]....
The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".
"Cross-thread operation not valid: Control 'Panel1' accessed from a thread other than the thread it was created on." The reason I am getting this error is because I am opening up a new form and then calling these three things:
Panel1.Show() Label1.Show() Label2.Show()
why I get this error message because it doesn't occur normally if I open Form2 after closing Form1, it only occurs when I open Form2 after closing Form4.
When my client try to connect to server I'm getting this error : Cross-thread operation not valid: Control 'l_users' accessed from a thread other than the thread it was created on.
Private Sub _socketManager_onConnectionAccept(ByVal SocketID As String) Handles _socketManager.onConnectionAccept l_Users.Items.Add(SocketID) End Sub
Would anyone be able to help me here please. I'm fairly new to VB.net and threading so im just trying to figure out what is happening.When I debug this I am getting the error thread operation not valid: Control 'ProgressBar1' accessed from a thread other than the thread it was created on.
I'm a little lost as to why the error is occuring or how to fix it. I've had to put the progress bar in a separate thread otherwise the GUI crashes
My understanding is that thread.join will suspend the execution of code on the calling thread until the spawned thread finishes or is aborted...
With that in mind, I tried this:
For i = 1 to 50 threads = New Thread(AddressOf test) threads.IsBackground = True threads.SetApartmentState(ApartmentState.STA)
[CODE]...
However, the rest of the code runs when the loop finishes, not waiting for all the spawned threads to finish. Since the rest of the code needs the threads to finish (otherwise the rest will error).