|
Aalst wrote:
Do you or anyone know why this is not allowed to work from a network share?
The only code that is given full trust is that which is run from the My Computer zone. Code on a network share operates from the Local Intranet zone, which doesn't have Full Trust.
The Local Intranet zone doesn't get Full Trust because you can't *always* trust those on your network (cable provider, school network, etc).
James
"And we are all men; apart from the females." - Colin Davies
|
|
|
|
|
You're not allowed to do this because the code isn't on your machine. Giving remote code full trust makes it much easier for malicious code to spread; all somebody needs to do to infect your machine is get a copy of their code onto the network share.
|
|
|
|
|
Does anyone have an example of changing the quality of a JPEG that you are saving out with the Bitmap.Save() method?
Thanks,
Steven
|
|
|
|
|
Hi Folks,
Most of my programming experience has been on the back-end / server side and I am begging to work on a new Windows project at home.
As I work through the UI, I often find myself wondering if my approach is efficient or "Good." Most of my concern comes when looking at how the program responds to UI events like button clicks ect.
Again, I am on bit of uncertain ground with the UI apps so please bear with me if my questions are a bit off or inaccurate. So on with the questions.
Is it best to construct objects and call methods directly in the ui event handling code (i.e. on_Click)? Or should I attempt to decouple it further by using delegates and registering event listeners in some type of worker class? And if I use this approach how would you suggest manipulating a moderately complex set of controls…. Is it wise to make the run-time changes directly from the event handlers or should a worker class again be employed?
Again, sorry if these question have been less than informed or asked in the past.
Any suggestions are appreciated.
Thanks again
|
|
|
|
|
I have always coded the creation of objects directly into the event handlers. I think it would be fairly inefficient and complex to create a worker class that does that stuff for you.
David Stone
It seemed similar to someone saying, "Would you like to meet my knife collection?"
Ryan Johnston on Elaine's sig
|
|
|
|
|
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.
|
|
|
|