|
My application is a commandline app. I spin off a dialog-box GUI in a separate thread. The GUI is refreshed every second based on the computing result of the main thread. But every now and then the GUI is not refreshed when I first start the application. I have to manually minimize and then restore it to make it begin running. Is there a way I can guarantee the GUI is refreshed in the beginning of the application?
|
|
|
|
|
Are your sure you're updating the GUI from the correct thread?
You'll have to use BeginInvoke or Invoke to update GUI elements if these updates are coming from a different thread.
Usually that's the reason for strange behaviour of your GUI.
Regards,
mav
|
|
|
|
|
Are you sure you are updating it using BeginInvoke and EndInvoke ?
One common reason for partial UI updates is updating it from the wrong thread. This[^] article explains why you cannot update the UI from another thread.How are you refreshing the GUI every second, what timer are you using?
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Hello all,
I am trying to develop a text editor that highlights syntax for a statistical software package. I have created an xml file from which all of the keywords are loaded into five separate ArrayLists that each contain one type of syntax that will be highlighted in a rich text box on the main form. Here is the regular expression code that I am using for each of these ArrayLists to color the text when an existing document is opened in the rich text box:
foreach (object keyword in commandAL)<br />
{<br />
string kw = (string)keyword;<br />
string searchstring = @"(?<=\s+)" + kw + @"(?=\s+)";<br />
Regex re = new Regex(searchstring, RegexOptions.IgnoreCase | RegexOptions.Multiline|RegexOptions.Compiled);<br />
MatchCollection mc = re.Matches(richTextBoxDo.Text, 0);<br />
<br />
foreach (Match foundmatch in mc)<br />
{<br />
int startposition = foundmatch.Index;<br />
int length = foundmatch.Length;<br />
richTextBoxDo.Select(startposition, length);<br />
richTextBoxDo.SelectionColor = settings.SyntaxColorCommand;
}<br />
<br />
}
The solution that I've come up with is to use five separate foreach loops, setting the selectioncolor property for any keywords that are found within the loop. Problem is that it is really slow when it opens a new document (over 600 keywords in the xml file). Any advice on how to improve this code would be much appreciated.
Thanks for your help,
Chris Simpkins
|
|
|
|
|
Main advice: Don't use a RichTextBox for syntax highlighting.
For each SelectionColor = ... call, the whole content of the RTB is streamed out to RTF, modified and then streamed back in => enormous overhead.
Recently there have been 2 articles here on syntax highlighting (try the search function). I think you should read them and the readers' comments. I'm quite sure that'll help you.
Regards,
mav
|
|
|
|
|
Thanks for your help!
-CS
mav.northwind wrote:
Main advice: Don't use a RichTextBox for syntax highlighting.
For each SelectionColor = ... call, the whole content of the RTB is streamed out to RTF, modified and then streamed back in => enormous overhead.
Recently there have been 2 articles here on syntax highlighting (try the search function). I think you should read them and the readers' comments. I'm quite sure that'll help you.
Regards,
mav
|
|
|
|
|
I've downloaded a source project by http://www.codeproject.com/cs/media/CsTranspTutorial3.asp
i've tried to build the project and it create automatically a .dll file.
I don't know looking all the code where it is specified to create that .dll
Where is specified, if does someone know?
How does it need?
Thanks.
|
|
|
|
|
It's specified by the project type. You can import the dll to use it in your own code.
If you're this lost, you may do well to stop and understand the code you're using, before using it.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hi, please i have a little problem in doing this sequence of image processing:
1- Gray scale an image
2- selecting a region of intensities e.g.(form 75 to 150)
3- then, i want to split this region in a new bitmap image.
4- finally, assigning a new color for this new region like red only....(my target)
thanks
BASKOTA
|
|
|
|
|
What part are you stuck on ? My image processing articles show how to make greyscale, if you want to do it manually. The code also shows how to modify pixels directly. However, how will you do this unless your region is square ? Surely these intensities will be scattered throughout the image, in an irregular pattern ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hi, thanks. But my target is to split some selected pixels from the image and put it in a new one, then, assigning a new color to them.
i don't know how to assign a new pixel color, or how to split them.
Regards
BASKOTA
|
|
|
|
|
sami_bio@yahoo.com wrote:
Hi, thanks. But my target is to split some selected pixels from the image and put it in a new one, then, assigning a new color to them.
OK, so you need to take the portion of the image you want, and create a new one with those values. That's bog easy - you just create a new Image, and draw the part of the image you want from the old onto the new. The hard bit is if your desired area is not a rectangle, you'll get some bits you didn't want.
sami_bio@yahoo.com wrote:
i don't know how to assign a new pixel color, or how to split them.
What do you mean by split ? What is this application doing ? You can change the colour a number of ways.
1. SetPixel. This is slow
2. Draw onto the image. That's what the brushes and pens are for. Probably also too slow
3. Direct pixel access, which again means you should read my image processing articles.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hey there,
I have an application which lists the following menu options "File" " View" "Help" etc.
And ofcourse within each of these is a further list of options. I want to write an application which will automatically nagivate through this menu ... As an example...suppose I want to go to View->Text Size -> Normal, I can do so through my application at the click of a button.
Is anyone aware of the kind of messages I could send or provide an example of any such code you may have.
Regards,
Abhishek
|
|
|
|
|
have you tried menuItem1.PerformClick() ?
Rob
--
There are 10 kinds of people. Those who understand binary and those who don't.
|
|
|
|
|
hey,
thanks for the reply however I am trying to navigate through a different programs menu using my application.
|
|
|
|
|
do you have the programs SDK ?
that would be a big help
regs
g00fy
|
|
|
|
|
I dont have the SDK but I could use Microsoft Depends to get a idea of the function being called.
|
|
|
|
|
Your looking for SendKeys[^]. Which, BTW, is a problematic way to control another application. Since the focus can shift from one window to another without any warning, your keystrokes could end up going to the wrong application. Also, I hope your VB app that your controlling has keyboard shortcuts define for all the menu choices...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
How would I do this?
I have 3 files that have to be put in certian places on a harddrive. I want to make a program that will do this automatically.
Is there something out there that I could use already? I was thinking maybe a install wizard or something like that, but i can find one that I like.
Thanks
Chad
|
|
|
|
|
Can you explain a bit more? what are the files? exactly at what places? hardcoded? or depend on the specific machine configuration? Windows special folders?
We need more information in order to help you. If you have the specific folders and filenames, FileInfo.MoveTo[^] might help you.
-- LuisR
Luis Alonso Ramos
Intelectix - Chihuahua, Mexico
Not much here: My CP Blog!
|
|
|
|
|
I know how to use the System.Web.Mail class to send mail through smtp but I want to use this for error reporting for one of my programs and I don't have a public smtp server. Are there free smtp servers that I can relay this through or is there a better way to report errors to me?
Thanks,
Rob Tomson
--
There are 10 kinds of people. Those who understand binary and those who don't.
|
|
|
|
|
what about your ISP's, you would probably need SMTP auth though if the ppl running your app are not on your ISP's domain. this would be a maintenance nightmare if you hade more than a few apps distributed and you changed ISP's
Im sure there *are not* public SMTP's as the internet has more than enough spam already.
what about just ftp'ing it to you from the remote site, or http tunnelling ?
hth
g00fy
|
|
|
|
|
thanks for the reply. what http commands would I use to send the mail? I tried quickly searching google but it was talking about ssh tunneling, is this what you're talking about?
thanks,
Rob Tomson
--
There are 10 kinds of people. Those who understand binary and those who don't.
|
|
|
|
|
I've created a program to track my tasks I have to do at work. I use a listview to display the tasks. Some of my tasks require certain steps be followed before I can complete them.
I plan on adding the ability to add requirements to a task. But, here's my idea! I would like to somehow be able to have a ProgressBar that is somewhat transparent across the entire row of each task that shows the progress of that task. I'm trying to figure out if it's possible to have a 1/2 transparent progressbar display on top of each of my tasks. Is it possible? How can I do this?
|
|
|
|
|
Howdy,
Sorry for the basic question...moving over to C# and having trouble finding an alternate to the following...
//constructor
public foo(int, string[])
{
//blah
}
...
foo bar = new foo(1,{"1","2","3","4"});
Any help &/or suggestion would be greatly appreciated. Thanks!
~rcurrie
|
|
|
|