|
im using a delay on user input
it accept the user input after a second
but whenever it try to do
what it suposed to do it crash
heres my code
{
bool timedOut2 = TBDelay2.EndInvoke(res2);
if (timedOut2)
Dispatcher.CurrentDispatcher.Invoke(
new ActionToRunWhenUserStopstyping2(DoWhatEverYouNeed2),
DispatcherPriority.Input);
}, null);
--
private void DoWhatEverYouNeed2()
{
Random r = new Random();
int n = r.Next();
var page4 = new TabPage(roombox.Text);
tabControl1.TabPages.Add(page4);
tabControl1.SelectedTab = page4;
var browser = new WebBrowser();
browser.Visible = true;
browser.Left = -browser.Width;
browser.ScriptErrorsSuppressed = true;
browser.Dock = DockStyle.Fill;
browser.IsWebBrowserContextMenuEnabled = false;
page4.Controls.Add(browser);
browser.Name = roombox.Text;
page4.Name = roombox.Text;
browser.Navigate("http://www.tinychat.com/" + roombox.Text)
}
|
|
|
|
|
...and the exception message would be ....... ?
and on which line does it throw?
|
|
|
|
|
A first chance exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.
at this line
Dispatcher.CurrentDispatcher.Invoke(
new ActionToRunWhenUserStopstyping2(DoWhatEverYouNeed2),
DispatcherPriority.Input);
|
|
|
|
|
also i just updated my visual studio and i get much better detail about the crash
Cross-thread operation not valid: Control 'tabControl1' accessed from a thread other than the thread it was created on.
|
|
|
|
|
as the first lines of your DoWhatEverYouNeed2 method, use
if (InvokeRequired)
{
this.Invoke(new MethodInvoker(DoWhatEverYouNeed2));
return;
}
|
|
|
|
|
well thx alot now everything works but it still seems to be a quit demanding task
is there any way to relief the pressure or its best to leave it that way
|
|
|
|
|
after trying it heavily everything works smoothly is there any way u could
elaborate on why this code all of suden makes everything work
|
|
|
|
|
You can NOT touch a control from anything other that the thread that created it. The UI (or startup) thread owns the controls and touching them at all (even so much as setting a property value) from anything other than the UI thread will fail with unpredictable results.
|
|
|
|
|
Do some error handling in DoWhatEverYouNeed2() - at least, show the exception message and stacktrace in a messagebox or write them to a log file.
|
|
|
|
|
hi thx for u reply where should i put the exeecption handling
in the code i showed
|
|
|
|
|
In a C# 2010 desktop application, I would like to come up with a test to see if the value 'CUST' is a valid directory level within a directory path supplied to the program. Basically the directory path would look like:
"C:\RData\CUST\Omaha\book.xlsx".
The code I am using the following code, but it is not working:
string filesaveLocation=ConfigurationSettings.AppSettings["Location"];
if (filesaveLocation == "*CUST*").
The value for filesaveLocation is obtained from the app.config file.
Thus can you show me how to change the code listed above, so that I can verify that 'CUST' is one of the directory folder names listed in a file path that looks like "C:\RData\CUST\Omaha\book.xlsx"?
|
|
|
|
|
You can use the String.Contains() method to check the path:
if (filesaveLocation.Contains("CUST"))
Or if character casing matters:
if (filesaveLocation.ToUpper().Contains("CUST"))
Or if you want to check for a directory named "CUST":
if (filesaveLocation.Contains(@"\CUST\"))
Good Luck!
-NP
Never underestimate the creativity of the end-user.
|
|
|
|
|
You can use the function
System.IO.Directory.Exists(myFolderPath) for the same
|
|
|
|
|
Try:
if (filesaveLocation.Contains(@"\CUST\"))
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
Thank you for your replies.
I also have to test to see if the directory file path does not = 'CUST', in the directory path called ""C:\RData\CUST\Omaha\book.xlsx". How would you code that change?
|
|
|
|
|
Uhhhh, you're question isn't really clear, but wouldn't the same test work with just the smallest change??
if (filesaveLocation.Contains(@"\CUST\") == false)
|
|
|
|
|
Morning Dave!
Do you need more coffee?
if (!filesaveLocation.Contains(@"\CUST\"))
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
It was WAY past my bedtime.
|
|
|
|
|
|
You're welcome!
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
Note that what you are doing here (and what the replies show you how to do) is checking for the presence of a string within another string.
Checking for the "validity" of a Directory, its actual existence, when your program is running, before you take some action, like writing a file to that Directory, is another thing. .NET hands you some excellent tools for checking whether Directories, or Files, actually exist.
The System.IO library offers a host of static methods such as File.Exists("file path"), Directory.Exists("directory file path") to check run-time existence. And, for more complex purposes, you can create an instance of a DirectoryInfo object, which has Properties like .Exists.
There are several reasons that these functions could return 'false: some are obvious, like the fact that the Directory/File doesn't exist any more; others more subtle, like you have some invalid character in the path name.
Based on your questions, I suggest you get a good basic book on C# programming, and study the different operators you can use with a 'string object.
And then, think about what you are going to do if the string you have in your Application Settings is incorrect: that will take you into studying the tools offered by the System.IO library.
Study, experiment, practice, analyze your errors: learn
yours, Bill
“Humans are amphibians: half spirit, half animal; as spirits they belong to the eternal world; as animals they inhabit time. While their spirit can be directed to an eternal object, their bodies, passions, and imagination are in continual change, for to be in time, means to change. Their nearest approach to constancy is undulation: repeated return to a level from which they repeatedly fall back, a series of troughs and peaks.” C.S. Lewis
|
|
|
|
|
Hi
I have a to make space invaders for school.
I can move the defender with the mouse and he also shoots with a mouse click but I also want to use the keyboard keys left, right and spacebar.
I don't know how to start for this, please help!
Thank you!
|
|
|
|
|
|
You don't have to do my homework :s I just can't find how to use keyboard keys instead of a mouse control...
This is my project http://pastebin.com/DVewwGmz[^]
|
|
|
|
|
Well, then, it looks like you haven't looked through the list of events for the Form class. I wonder what the KeyDown and KeyUp events are for...
|
|
|
|