|
In a typical situation, all--or virtually all--UI controls will be created from the same thread. Thus, the solution posted should work fine.
If you happen to have controls created on different threads, you can still make this work:
Engine engine = new Engine(WindowsFormsSynchronizationContext.Current);
engine.RunOnSeperateThread();
Engine engine = new Engine(WindowsFormsSynchronizationContext.Current);
engine.RunOnSeperateThread();
This should work as well.
If the Engine class is *always* created on the UI, but the Run() method is *always* spawning a background thread to do the real work, you might want to investigate the System.ComponentModel.BackgroundWorker. The BackgroundWorker is nice as it lets you do the following:
worker.DoWork += someMethodToRunOnBackground;
worker.ProgressChanged += someMethodToRunOnUIThreadWhenProgressReported;
worker.RunWorkerCompleted += someMethodToRunOnUIThreadWhenFinished;
worker.RunWorkerAsync();
This way is quite generic and pretty straightforward. Your DoWork handler will get run on a background thread. Your ProgressChanged handler will get called on your UI thread. Your RunWorkerCompleted will get called on the UI thread. Nice stuff, I suggest you check it out if you haven't already. You could use the BackgroundWorker internally in your Engine class if you wanted to retain existing code.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Islamic Domination: Coming to a Jewish state near you!
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
Hi all,
I need some articles/materials/presentation for the following topics
1. Thread synchronization
2. basics of Appdomain,STA,MTA
3. Thread Safety/Cross thread calling
4. XML handling reading/writing/encrypting xml
If anybody has plese share..
TIA
Srini
|
|
|
|
|
|
Thanks for ur reply.
Yes i did some search on codeproject and google. even i read some of the articles.but still i am not able understand the mentioned concepts. If you have something particularly that could explains the mentioned things please share.
Thanks
Srini
|
|
|
|
|
Hi,
I am trying to run a C# code to generate a dll file that I will need for a pocket PC appication. When I build the code, I am getting 107 errors that are similar to this one:
Error 1 The type or namespace name 'SymmetricAlgorithm' could not be found (are you missing a using directive or an assembly reference?) C:\Documents and Settings\msolh\Desktop\Security\Security\Cryptography\RC4.cs 46 30 Security
For instance in this error I checked for 'SymmetricAlgorithm' and I found that it is part of mscorlib and namespace system.Security.cryptography. The library and the namespace are both included in my project but still it is giving me the same errors.
If you had this problem before, please help.
|
|
|
|
|
Do you compile your project for the compact framework? According to MSDN this class is supported only by the 2.0 version of the compact framework.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks,
The problem is solved it turned out that I was running a 1.0 version of compact framework.
But know I am stuck into another problem:
It turned out some of the classes I am using are not supported for windows mobile. I donot know how to subtitute them. One of the classes for example is:
DeriveBytes
|
|
|
|
|
msolh wrote: It turned out some of the classes I am using are not supported for windows mobile. I donot know how to subtitute them.
Yeah, that's unfortunately something you had to take care of while designing your app.
You only have the option to rewrite this class my yourself of find a substitute class which provides similar functionality.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Is it possible to fill listview with an one or more dimensional array by using databinding method?
|
|
|
|
|
hi all,
is it possible to hide (and show) unwanted tabs when dealing with a specific tab ?
let's say i've a tabcontrol with 5 pages (first page is only required for a while) and with a button click i want to hide all other 4 pages ?
then i make them show again when i need them ?
|
|
|
|
|
If you are using VS2005, you can do it as follows:
create dynamic tabs array through code.
Create each tab and add to the tab list, when ever you need to hide you can stop loading those tabs.
Try and check, else i will give you sample code
|
|
|
|
|
I suppose the
TabControl1.TabPages(1).Visible = False Wont work in .Net Framework 1.1. As a work around you use
TabControl1.TabPages.Add() and TabControl1.TabPages.Remove() as when you require tab pages
|
|
|
|
|
yes,
hide and show or Visible =true or false properties are not available for TabPages, Only availble option is Remove and add again.
RemoveAt(...) and RemoveByKey(...) are availble and then we can add at any time.
Ravi
|
|
|
|
|
I am having .NET framework1.1
I need to compile C# windows project from the command line
I have compiled the code in the following way
csc /out:exe *.cs
It is showing the error missing resources files.
In the project i am having one image two text boxes and a listbox.
I have used System.Globalization for German language culture to change date and time format.
Can any one help me what are the exact parameters do i need to pass to the command "CSC".
|
|
|
|
|
|
AFAIK, you will need the Resource compiler, that's only available in the .NET SDK.
|
|
|
|
|
I am using a third party SNMP component. I create this component at run-time in a C# class.
I am wondering if there is someway I can use event handlers for this control in that class.
|
|
|
|
|
Your thrid party component has to trigger events, once you know it does, you can catch them by for example with a button:
btnButton.Click += (and then you press tab and it will create the method for you)
When the third party component doens not trigger any events i'm affraid you can't. You can recognize events when you press <varname>. and then you get a list of all posible options, when it's a yellow lightening sign it's an event. (this if you use Visual Studio)
|
|
|
|
|
hello please answer me
what is command of delay in c#
amin
|
|
|
|
|
System.Threading.Thread.Sleep(int milisecond);
|
|
|
|
|
hi all,i use popup window to display some text and ask user to enter their options(ie yes or no). my need is when the popupwindow loads the parent form should be stopped or should stop excuting lines after this popupwindow line and it resume executing the remaining lines after getting replay from that popupwindow.how to do this
to display popupwindow i use this line:
Response.Write("var win=window.open('Alert.aspx',null,'width=450,height=200,top=200,left=250','true');");
ayyp
|
|
|
|
|
I guess you want to ask confirmation by the user with the alert box right?
if he says yes it should continue and no it will stop,is that right?
if it is the case, then use the below piece in aspx of button control.It will take care.
"onclick='return confirm("Are you sure you want to delete this record?")'"
Thanks,
sp.
|
|
|
|
|
s aarthi u r correct.i already try with this code but how can i get the values that r given by the user(s or no)? and onmore thing this box will come after second click
ayyp
-- modified at 9:25 Monday 22nd May, 2006
|
|
|
|
|
hi all,
i have 30 items (numbers) in my combobox. how can i figure out the items index value?
for example: 2006 is the 5th element in my combobox. how can i get that 5 out (or if its an array how can i be sure that 2006 is at position items[4] ?)?
help please...
ps: with the given text, how can i get the index ?
-- modified at 8:49 Monday 22nd May, 2006
|
|
|
|
|