By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,899 Members | 1,350 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,899 IT Pros & Developers. It's quick & easy.

Button Name not changing

P: n/a
I have an executable that has a button that I want to change the name of to
"Now Processing...".

When the process is done, I want to change it back.

The problem is that the form is not showing the new name. I assume I would
need to flush it somehow to get the display to show.

The code is:

ProcessFiles.Name = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Name = "Process Files";

Thanks,

Tom
Jul 10 '08 #1
Share this Question
Share on Google+
4 Replies


P: n/a
tshad skrev:
I have an executable that has a button that I want to change the name of to
"Now Processing...".

When the process is done, I want to change it back.

The problem is that the form is not showing the new name. I assume I would
need to flush it somehow to get the display to show.

The code is:

ProcessFiles.Name = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Name = "Process Files";
It's not the Name you want to change, but the Text
--
Bjørn Brox
Jul 10 '08 #2

P: n/a

"Bjørn Brox" <bp****@gmail.comwrote in message
news:48********@news.broadpark.no...
tshad skrev:
>I have an executable that has a button that I want to change the name of
to "Now Processing...".

When the process is done, I want to change it back.

The problem is that the form is not showing the new name. I assume I
would need to flush it somehow to get the display to show.

The code is:

ProcessFiles.Name = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Name = "Process Files";
It's not the Name you want to change, but the Text

You're right.

But when I changed it to the following, it still didn't work.
ProcessFiles.Text = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Text = "Process Files";

I know it is changing the text because if I comment the 3rd line where it
puts the text back - it is now set to "Now Processing..."

Thanks,

Tom
--
Bjørn Brox

Jul 10 '08 #3

P: n/a
If the processing is happening on the main thread then the form wont get a
chance to redraw while the processing is happening. You would need to run the
processing on another thread which would allow the UI thread to redraw the
button or try something like this.Refresh or Application.DoEvents
These are both a little bit hack like to me though. I would put the
processing on another thread to keep the UI responsive while its happening
but disable buttons and the like to stop the user doing something the UI is
not ready for while its happening.
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"tshad" wrote:
I have an executable that has a button that I want to change the name of to
"Now Processing...".

When the process is done, I want to change it back.

The problem is that the form is not showing the new name. I assume I would
need to flush it somehow to get the display to show.

The code is:

ProcessFiles.Name = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Name = "Process Files";

Thanks,

Tom
Jul 11 '08 #4

P: n/a
On Thu, 10 Jul 2008 15:03:40 -0700, tshad <ts***@dslextreme.comwrote:
[...]
But when I changed it to the following, it still didn't work.
ProcessFiles.Text = "Now Processing...";

Transform.XlateCSVToSQL();

ProcessFiles.Text = "Process Files";
As mentioned by Ciaran, you can't run your processing in the GUI thread
and expect the change to the text of the button to be visually updated.
You're blocking the GUI thread, which prevents the button from redrawing
itself when the text changes.

Put your processing in a different thread.

Pete
Jul 11 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.