|
Thanks for the reply David,
The real source of my anxiety comes from having quite a bit of stuff going on in the even handlers (object creation, method calls, and UI componet manipulation)and worring that perhaps I am not following what are considered the best practices.
Mabey I'll relax about a little
Thanks
|
|
|
|
|
Chris Austin wrote:
Mabey I'll relax about a little
I would. I've done tons of stuff on one button click before. Just remember to try not to interrupt the UI experience though. If you have so much stuff that the UI can't respond to any of the user's movements, then you might want to consider multithreading the app.
David Stone
But Clinton wasn't a predictable, boring, aging, lying, eloquent, maintainer-of-the-status-quo. He was a predictable, boring-but-trying-to-look-hip, aging-and-fat-but-seemingly-oblivious-to-it, lying-but-in-sadly-blatant-ways, not-eloquent-but-trying-to-make-up-for-it-by-talking-even-more, bringer-in-of-scary-and-potentially-dangerous-new-policies. And there was also Al Gore. It just wasn't *right*.
Shog9
|
|
|
|
|
May I point you to Joseph M. Newcomer's article "Optimization: Your Worst Enemy", in particular the 5 paragraph section titled "When not to optimize".
All of Joe Newcomer's articles deserve a read; but that one really opened my eyes.
James
"And we are all men; apart from the females." - Colin Davies
|
|
|
|
|
Interesting article. While I agree there is little point in optimizing for optimization's sake, the real opportunity here is code reuse. Separating your business logic from the interface makes it easier to reuse the code. One has to weigh the benefits against the added complexity
Bill F
|
|
|
|
|
and this is my third - last question guys ;]
i dont want the user to be able to change the selection, i only want the program to be able to change it
overriding OnSelectionChanged() or OnMouseDown() doesnt work
ps. i cant just disable the list box, because i dont want the colors
dimmed, and when you disable a control you dont have any influence on the colors it displays on the screen
manson
|
|
|
|
|
myListBox.SelectionMode = System.Windows.Forms.SelectionMode.None;
Hope that helps.
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
if you set selection mode to none, you CANNOT select any index in the listbox, even programmatically (you get an exception)
i cant do that, because i want the program to be able to select items in the list box
manson
|
|
|
|
|
By default:
myListBox.SelectionMode = System.Windows.Forms.SelectionMode.None;
And then use this:
void SetListBoxText(int indexToSetTo)
{
myListBox.SelectionMode = System.Windows.Forms.SelectionMode.One;
myListBox.SelectedIndex = indexToSetTo;
myListBox.SelectionMode = System.Windows.Forms.SelectionMode.None;
}
-Domenic Denicola- [CPUA 0x1337]
MadHamster Creations
"I was born human. But this was an accident of fate - a condition merely of time and place. I believe it's something we have the power to change..."
|
|
|
|
|
is it possible to combine two brushes (like use both on the same object on the screen), i.e. LinearGradientBrush and
HatchBrush and fill objects with them (i actually want to draw a
dashed-gradient line, so i do FillRectangle with height=1)
or do I have to crate my own brush class derived from
System.Drawing.Brush?
manson
|
|
|
|
|
I believe that the Brush type is an enum and that it does have the [Flags] attribute. So you could say:
myDrawingObject.BrushType = Brush.LinearGradientBrush | Brush.HatchBrush
Hope that works.
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
ee.. were talking c# here
theres no such thing as Brush.LinearGradientBrush, cos Brush is an abstract class, which is extended by LinearGradientBrush and HatchBrush (which, by the way, are not enums unfortuantely, and cannot be treated with OR operator '|')
and above all, what is BrushType?? no such member in the whole .NET class library either
tell me you were just joking
manson
|
|
|
|
|
I wasn't sure if there was a property that was BrushType or not. Sorry about that. I didn't look to confirm. I was thinking about the Brushes class and it's read only properties. But those are for colors.
Let's start over. What are you trying to draw?
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
setting MinimumSize for an MdiChild Form does nothing, you can still resize the Form to a smaller size than MinimumSize
checking if the Form has been resized to a smaller size than MinimumSize
(and resizing it back) in the Resize event handler seems the only
solution so far, but it doesnt look good in the runtime of course..
what am i missing?
ps. MaximumSize and MinimumSize do work for MdiParents and non-Mdi Forms, but
they dont work for MdiChildren
at least it looks like it
is there any way around it?
manson
|
|
|
|
|
How do i make an enum, such that when you are assigning a property of that enum, you can specify more that one of the flags, e.g.
someThing.Proprty = AnEnum.Foo | AnEnum.Bar;
and is there something special i have to do to find which ones were specified?
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
Use FlagsAttribute
Here is an example:
[Flags]
public enum AA
{
...
}
43 68 65 65 72 73 2c
4d 69 63 68 61 65 6c
|
|
|
|
|
Nnamdi Onyeyiri wrote:
and is there something special i have to do to find which ones were specified?
Yes, unfortunately
1. Flags Enums must be bit settable ie
enum MyEnum {
None = 0x00,
FlagA = 0x01,
FlagB = 0x02,
FlagC = 0x04,
FlagD = 0x08,
FlagE = 0x10,
FlagF = 0x20,
FlagG = 0x40,
FlagH = 0x80
}
2. To get the value (this is my difficult part as bit operations is somethin my mind cant process yet). I use this snippet to view Flags.
public static string PrintFlags(object enumvalue)
{
Type t = enumvalue.GetType();
string output = "";
foreach(string enumName in (string[])Enum.GetNames(t))
{
if ((((int)enumvalue) & (int)Enum.Parse(t, enumName)) != 0)
output += "[" + enumName + "]";
}
return output;
}
To get value is something like (from above):
if ((enumvalue & MyEnum.FlagA) != 0) then flag is set, else not set
Hope this helps I think I have learnt something at least
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
JTJ said i can do this
[Flags]
enum Stuff {
itemA = 1,
itemB = 2,
itemC = 4
}
then to get the ones set, do this
Stuff myStuff = Stuff.itemA | Stuff.itemB;
....
bool hasItemA = (myStuff & Stuff.itemA) == Stuff.itemA;
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
The 1st part I did like that to show the bit formation
Re, the getting part, thats where my math is &^%&^% with my head.
I cant see how :
bool hasItemA = (myStuff & Stuff.itemA) == Stuff.itemA;
bool hasItemA = (myStuff & Stuff.itemA) != 0;
can be the same ??? To me , mine looks correct, I could be wrong.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
& is a bitwise and operator, and works something like this (I'm sure I'll be jumped on if I'm wrong here
Ok, assuming that the myStuff variable contains the bit flags, and exists as:
01001001
Now, assuming that Stuff.itemA is set to 00000001 then performing an AND bitwise operator on the two should yield the following
01001001 +
00000001
---------
00000001
The result will only be 1 where both the parameters are 1, so 1+1=1, 0+1=0, 0+0=0 etc.
Consequently the result ought to be itemA again. As a result, both yours and JTJ's version ought to be correct, since they'll both return a result != 0.
--
Paul
"I need the secure packaging of Jockeys. My boys need a house!"
- Kramer, in "The Chinese Woman" episode of Seinfeld
MS Messenger: paul@oobaloo.co.uk
Sonork: 100.22446
|
|
|
|
|
Thanx Paul, nice explanation. I will look at it a bit more to remember it
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
i want to move mouse curser programatically and want to get any key pressed how to do that in csharp like the hooks in vc++ ?
r00d0034@yahoo.com
|
|
|
|
|
I know that the keystroke program can be done:
http://www.c-sharpcorner.com/Code/2002/July/LeyLoggerApp.asp[^]
However, I don't know about moving the mouse. Sorry about that. Hope the keystroke thing was of some help.
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
is it possible to call any MFC Dialog in csharp code if yes plz tell how ?
r00d0034@yahoo.com
|
|
|
|
|
Why not just design your own? VS.NET has a cool dialog editor as part of the resource editor.
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
plz help me a little u just design it for me i will launch it with my name.
r00d0034@yahoo.com
|
|
|
|