Click here to Skip to main content
15,881,561 members
Home / Discussions / Windows Forms
   

Windows Forms

 
AnswerRe: Error during tableAdapterManager.UpdateAll unable to resolve Pin
Eddy Vluggen4-Jul-13 5:05
professionalEddy Vluggen4-Jul-13 5:05 
QuestionListBox does not update when DataSource is changed Pin
rbsbscrp17-May-13 5:36
rbsbscrp17-May-13 5:36 
AnswerRe: ListBox does not update when DataSource is changed Pin
rbsbscrp17-May-13 6:59
rbsbscrp17-May-13 6:59 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen24-May-13 2:59
professionalEddy Vluggen24-May-13 2:59 
GeneralRe: ListBox does not update when DataSource is changed Pin
Dave Kreskowiak24-May-13 5:23
mveDave Kreskowiak24-May-13 5:23 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp24-May-13 20:03
rbsbscrp24-May-13 20:03 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen24-May-13 23:03
professionalEddy Vluggen24-May-13 23:03 
GeneralRe: ListBox does not update when DataSource is changed Pin
Dave Kreskowiak25-May-13 3:55
mveDave Kreskowiak25-May-13 3:55 
Wow! You have such a myopic view of what's going on.

The reason you need Invoke is because controls are NOT thread safe. What you see in the toolbox are .NET wrappers around standard window variants you find in Win32. They are not thread safe because of limitations in the Windows user interface. The golden rule is that any operation on a control is required to be done by the thread that created the window handle. It's possible to wrap all this code in synchronzation code, but that would have been a ton of code and a rather large performance hit.

But, but, but "I'm just changing a property!" Yeah, I know. A property is nothing but a method that gets/sets a value, but that method can also do other things like validation, modifying other values inside the control, updating the controls internal state machine, kicking off events, and whatever else the controls need.

What you're forgetting is that Windows is a shared system. Not only can your code cause code in the contorl to run, but Windows can too, AT ANY TIME. It can send your control a WM_PAINT message to get your control to repaint itself, but, what if you were changing the Text or Forecolor properties, from your thread, at the exact same time the control was getting these values to use in the paint code??

Invoke is there because .NET, like any other application, has to follow the "UI thread rule" like any other application.

A little tidbit: The only methods on controls that ARE thread safe are Invoke, BeginInvoke, EndInvoke and CreateGraphics.

GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp30-May-13 14:16
rbsbscrp30-May-13 14:16 
GeneralRe: ListBox does not update when DataSource is changed Pin
Dave Kreskowiak30-May-13 16:19
mveDave Kreskowiak30-May-13 16:19 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp30-May-13 17:38
rbsbscrp30-May-13 17:38 
GeneralRe: ListBox does not update when DataSource is changed Pin
Dave Kreskowiak31-May-13 4:25
mveDave Kreskowiak31-May-13 4:25 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp31-May-13 5:41
rbsbscrp31-May-13 5:41 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen31-May-13 6:29
professionalEddy Vluggen31-May-13 6:29 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen31-May-13 6:27
professionalEddy Vluggen31-May-13 6:27 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp31-May-13 7:22
rbsbscrp31-May-13 7:22 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen31-May-13 7:30
professionalEddy Vluggen31-May-13 7:30 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp31-May-13 7:39
rbsbscrp31-May-13 7:39 
GeneralRe: ListBox does not update when DataSource is changed Pin
Eddy Vluggen31-May-13 8:32
professionalEddy Vluggen31-May-13 8:32 
GeneralRe: ListBox does not update when DataSource is changed Pin
TnTinMn6-Jun-13 9:08
TnTinMn6-Jun-13 9:08 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp6-Jun-13 12:38
rbsbscrp6-Jun-13 12:38 
GeneralRe: ListBox does not update when DataSource is changed Pin
TnTinMn6-Jun-13 13:26
TnTinMn6-Jun-13 13:26 
AnswerRe: ListBox does not update when DataSource is changed Pin
Chirag Baroliya R24-May-13 2:25
Chirag Baroliya R24-May-13 2:25 
GeneralRe: ListBox does not update when DataSource is changed Pin
rbsbscrp24-May-13 20:11
rbsbscrp24-May-13 20:11 
QuestionBinding a DataGridView column to a nullable property, using a ComboBox bound to a non-nullable property. Pin
Brady Kelly14-May-13 21:20
Brady Kelly14-May-13 21:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.