|
monica2k wrote:
Is it good to put validation in the set method of property.
No. Validation should be a completely separate method. The property should simply return the field value or set it.
To do validation, take a look at the Validated and Validating events that are part of every control. These explain how the validation works with response to the control losing focus--meaning, a value has been entered and the user tabs off the control or selects a different control.
Of course, it's a flawed system. Selecting a menu item does not cause a control to lose focus.
Marc
My website
Latest Articles:
Undo/Redo Buffer
Memento Design Pattern
|
|
|
|
|
This is probably a newbie question, but I can't find any info on how this works.
I'm creating a VS project file for ICSharpCode's TextEditor, and it wants to read some data using GetManifestResourceStream:
assembly.GetManifestResourceStream("SyntaxModes.xml");
While I have the individual files, I haven't a clue how to actually create the resource file. I tried Lutz Roeder's resourcer, so now I have a resx file with all these xml files in it, but that didn't work.
Any pointers or links to sites that explain how to do this?
Thanks!
Marc
My website
Latest Articles:
Undo/Redo Buffer
Memento Design Pattern
|
|
|
|
|
You just have to set your SyntaxModes.xml's build action property to Embedded Resource, that's all.
And don't forget the namespace when accessing the resource.
Regards,
mav
|
|
|
|
|
|
Ok, I seem to be having a very bad day today!
Inside a function where I am assembling several variables to use in queries -
This is where I am hanging up,I have several strings like this "nowhere_here" that I need to parse out what is after "_" so that I now have a tempstr = "here".
Then I need to pass this to a func that will do a switch on the string and return a valid string.
Question 1. What is my syntax for the split??
Question 2. How should I do the func? public string public void? then what do I say in the main string to get the value that is the result of the func??
Thanks all!
D @ Premier
You are only as good as your last project.
|
|
|
|
|
DEWright_CA wrote:
Question 1. What is my syntax for the split??
string foo = "nowhere_here";
string newstring = foo.Substring(foo.IndexOf('_')+1);
DEWright_CA wrote:
Question 2. How should I do the func? public string public void? then what do I say in the main string to get the value that is the result of the func??
public/private/protected (static) string Foo(string bla) { ... }
Depends on where you want the function to be accesible from and whether you want it to be static or not.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
I will be passing foo to a "func(txtStr)" and need to get back a string called validFoo.
Thanks for the great reply, I forgot that I could do a IndexOf inside a substring!
|
|
|
|
|
Even worse, I also need to get the part of foo before '_', trying to do this;
string [] parts = foo.Split(new char[]{'_'});<br />
string theTable = homeTbl + parts[1];
But keep getting a "Index was outside the bounds of the array"
You are only as good as your last project.
|
|
|
|
|
DEWright_CA wrote:
ut keep getting a "Index was outside the bounds of the array"
You should check your array first, to make sure you have as many values as you hoped. Even better, use regular expressions for this sort of stuff.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
DEWright_CA wrote:
string [] parts = foo.Split(new char[]{'_'});
string theTable = homeTbl + parts[1];
You must check size of array before you acces it's second item.
like:
string [] parts = foo.Split(new char[]{'_'});
if( parts.Lenght > 1 )
{
string theTable = homeTbl + parts[1];
}
else
{
}
David
Never forget: "Stay kul and happy" (I.A.)
David's thoughts / dnhsoftware.org / MyHTMLTidy
|
|
|
|
|
I'm writing a program in C# and in the process I need to capture a window handle. Typically I can do this using the title, however, in this case the title is long and complicated with strnage characters and... lets just say that using the title won't do. So I need another method. I've got a few Ideas, but so far none have worked. So if anyone can direct me to a good method using a mouseclick or any other clever means, I would greatly appreciate it.
jake
|
|
|
|
|
So what's wrong with getting the title of the window and just searching that string for a part of the title your looking for?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Is there a method to search for a window using part of the title? In other words if the name of the window was "123 MyWindow 23%^ iii" is there some method like GetWindow that will allow me to find a window using "MyWindow" as the only parameter?
jake
|
|
|
|
|
Don't think so.
But you could do an EnumWindows/GetWindowText (the WinAPI way) and do a substring-search by yourself.
You could also search for a certain window class, if the window in question has a specific one
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Using the Win32 functions EnumWindows and GetWindowText, you can get the title of every window in the system, even invisible ones.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Just use the win API FindWindow function and pass the window's Class and pass the title as null.
[DllImport("user32.dll")]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
You find the class of a windows by using spy++. We would call a window with the class of "alexEggRules" as follows:
IntPtr handle=FindWindow("alexEggRules", null);
/\ |_ E X E GG
|
|
|
|
|
I have developed a Windows application that uses the serial port with a modem to call out to a few devices and download some information which is then logged in a database. This is done at a predetermined time for each device, on a daily basis. It can also be invoked from the GUI by the user.
I have now reached the point where I have to include more modems and make the app multi-user. I would like to have some direction as to how this could be done. I have thought about Windows service or web service with a service control panel as the GUI or even better a browser....I have never worked with multi-threading, and also how do I know how many modems I have installed and which ones are in use at a particular time?
Thanks in advance
Chris
|
|
|
|
|
I would look at TAPI, and if the native API is too daunting, there are several third party libraries that make TAPI easier.
The reason I suggest TAPI is because serial ports and modems aren't the same thing anymore. A lot of "modems" are software simulations which don't behave like you would expect with regards to communicating over a typical COM port. I learned this the hard way!
A TAPI interface will do a lot of the background work for you, and you can also test whether devices are available or in use.
I've used this library[^] for C++ development. I'm sure there's C# equivalents out there too.
As to making your application multi-user, you'll have to explain that a bit more.
Marc
My website
Latest Articles:
Undo/Redo Buffer
Memento Design Pattern
|
|
|
|
|
Thanks for your hint, I will look into TAPI.
As far as the multi-user part is concerned, I would like to have many users perform the downloads simultaneously (so for instance if two users requested collection of information at the same time the application would pick two ports and call, and display the appropriate results to each user).
|
|
|
|
|
I'm replying to this post again since your other reply was done as "anonymous".
Regarding:
As far as the multi-user part is concerned, I would like to have many users perform the downloads simultaneously (so for instance if two users requested collection of information at the same time the application would pick two ports and call, and display the appropriate results to each user).
If you implement this as a GUI in a browser, the ASP.NET application is running in its own thread and its own context, so really all you will need to do is find a free modem and dial out (there is a potential of two threads trying to connect to the modem at the same time, so you'll have to implement some smart resource locking). The biggest problem I see is that when the user hits "Get Data" on the browser, he may be sitting there for a long time before the page refreshes. I'm not an ASP.NET expert so I don't really have a good suggestion for how to handle that.
Also, same with web services--they should run in their own context. Make sure whatever TAPI package you get can run in threads, or if you work with the native TAPI interface, you'll have to make sure your code is thread safe.
Marc
My website
Latest Articles:
Undo/Redo Buffer
Memento Design Pattern
|
|
|
|
|
Hello,
I'm getting random SEHException s through my code, and the Message says taht an external component raised an exception. None of my code is present in the stack trace.
Any ideas on how to start debugging it??
[EDIT: This is the stack trace:
System.Runtime.InteropServices.SEHException
Mensaje: Un componente externo inició una excepción. <-- "an external component raised an exception"
at System.Windows.Forms.UnsafeNativeMethods.SendMessage(HandleRef hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at System.Windows.Forms.Control.SendMessage(Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.Control.ReflectMessageInternal(IntPtr hWnd, Message& m)
at System.Windows.Forms.Control.WmCommand(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
It seems it's sending a message, but how can I know to which window and which message?]
More information will be coming soon (when I get it!)
-- LuisR
Luis Alonso Ramos
Intelectix - Chihuahua, Mexico
Not much here: My CP Blog!
|
|
|
|
|
Hi
In my winform application I have multiple buttons. Of those buttons, I want one to behave as Enter key by default and other as Escape key.
Tried to search for it, but couldn't find a good solution. Please suggest how can I acheive this?
Thanks in advance.
Pankaj
|
|
|
|
|
Hi,
1. Select the form where you have placed the buttons and Properties.
2. Seek for Misc. category
3. Choose AcceptButton property then bind it to the desired button.
4. Choose CancelButton property then bind it to the desired button.
Hope it helps.
Uri
|
|
|
|
|
hi,
Just change the DialogResult Property of a Button.
Suupose that You want to work a button as Cancel ,then change the DialogResult to "Cancel".
regards,
pubudu.
|
|
|
|
|
I think Uri's answer makes more sense. Thanks guys.
|
|
|
|