|
You are accessing the UI (textBox1) from a different thread than the one it was created on; that's not allowed. You'd want to invoke that (Google for the invoke pattern on MSDN).
It is also starting the run-method on the main-thread, after starting it on a separate thread. Meaning it would be running twice.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
You are using a thread to access a textbox on a different thread. To solve this you will need to create a delegate to access the textbox.
have a read of this invoke textbox from thread[^]
Every day, thousands of innocent plants are killed by vegetarians.
Help end the violence EAT BACON
|
|
|
|
|
You can't access UI objects (i.e. controls) except from the UI thread.
So when you try to change the Text property of your textbox from the run method, it fails because it is being executed on the th thread instead.
If you need to access UI controls, you will have to Invoke them first in order to move execution back to the thread that created them: MSDN Invoke[^]
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Beyond the cross-threading issue pointed out in other posts here, let me warn you about one thing: you have the run function running twice - in different threads at the same time, and it is not thread-safe at all.
|
|
|
|
|
public FormType() {
button.Cick += (o, e) => {
Task.Factory.StartNew(() => {
for (var i = 0; i < 2; i++) {
textBox.Invoke((Action)delegate {
textBox.Text = string.Format("Variable i currently set to: {0}", i);
});
Thread.Sleep(100);
}
});
}
}
|
|
|
|
|
the issue is (probably) that you call UI elements off the main thread. This is not allowed.
You´ll need to "invoke" a method from the thread which will set the Text.
hope this helps.
|
|
|
|
|
Hi ,
Need clarity regarding the custom sections in the app.Config file.
If the section type is System.Configuration.ConfigurationSectionCollection, how should this be coded in C#?
I did some browsing and found that
The type attribute, which is the name of the class that reads the information.
A sample of the app.config file :
="1.0"="utf-8"
<configuration>
<configSections>
<Section name="ClientSettings" type="System.Configuration.ConfigurationSectionCollection" />
</configSections>
<appSettings>
<add key="ServiceName" value="XXX Server A" />
<add key="LogfileName" value="XXXServer.log" />
<add key="LogfileFolder" value="C:\Program Files\XXXServer\logfiles\" />
</appSettings>
<ClientSettings>
<add key="Port1" value="12345" />
<add key="Port2" value="67899" />
</ClientSettings>
</configuration>
How should this be coded in C# ? Anyone kindly help me out.
Some links would also be helpful.
Thanks in advance .
|
|
|
|
|
|
Thanks Richard ! What am more keen to understand is the section type="System.Configuration.ConfigurationSectionCollection" . I cannot find any good code samples available on net.
Thanks
Mary
|
|
|
|
|
|
Two other good resources on CP for working with AppConfig and AppSettings: 2013 [^], 2006 [^].
«If you search in Google for 'no-one ever got fired for buying IBM:' the top-hit is the Wikipedia article on 'Fear, uncertainty and doubt'» What does that tell you about sanity in these times?
|
|
|
|
|
No question here - the link to YouTube has been removed. If no one had replied, I would have deleted the message. PO'H.
modified 25-Nov-14 1:53am.
|
|
|
|
|
Was there supposed to be a question in that post of yours or did you feel like bragging about something? 'cause your post feels a bit like spam.
|
|
|
|
|
Spam is more useful then his post. Its clear they are trying to sell you Viagra. This, I'm not quite sure what he's showing. Not like you can read his screen or anything.
|
|
|
|
|
Yeah, I know. I watched a part of the video and found it extremely boring and utterly useless. Watching someone type code without any explanation at all is pointless.
|
|
|
|
|
If you look closely, I think he's trying to sell Viagra .
|
|
|
|
|
Tengo un reproductor de video con mcisendstring y quisiera reproducir 2 videos y que no se vean cuadros negros entre uno y el otro, es decir que se vea como un solo video. gracias
|
|
|
|
|
Nessuno ti capisce se non parli in Inglese.
Please write in English, it is the official language of CP community!
|
|
|
|
|
Is there a free library where we can convert PDF to HTML?
|
|
|
|
|
|
What is the use of delegate in c sharp?..How to use it??
|
|
|
|
|
|
|
delegate are anonymous methods, same to what you do with lambda expression, before lambda it were available on begin C# versions....
So, you can do several thing through this:
1. Generate a new method inside an other method, once you need it, like:
Thread t = new Thread(new ThreadStart(delegate(){ ... } ) );
t.Start();
as you see 'delegate(){..}' is equal to the longer version of lambda; ()=>{...}
2. the other use is to pass a method to a function, That's same to what MethodInvoker do for concurrent programming, on win form application, which if you don't you may cause cross-thread exception.
if (this.InvokeRequired)
{
Invoke(new MethodInvoker(delegate()
{
...
}));
}
,
so you may come to a place where you write a method, which need something right in middle of code which you don't know, and the user may need to choose what code should be run...
so you define a delegate function (mean you give it a name and sets its signature)
then you use that as a input parameter, so you can use that function reference to call the function, user provide for you:
here is a sample:
public delegate int MyInvoker(int a, int b);
public void MyMethod(MyInvoker operation, int a, int b)
{
int result = operation(a, b);
}
Then the user may call your method like this:
MyMethod( (a,b)=>a+b, 1, 2);
or this:
private void sum(int a, int b)
{
return a+ b;
}
MyMethod(sum, 1, 2);
or may he use a deleagate:
delegate (a,b){return a+b}
as the input parameter.
NOTE: ThreadStart is a delegate too, it's same to MethodInvoker, i just tried to make different sample .
|
|
|
|
|
Thanks a lot.I understood the concept of delegate.
|
|
|
|