|
Have a look here[^] - Vista compatible too!
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Here is one article that I wrote on the subject: Add Transparent Menus and XP Titlebar Buttons to your application[^]
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my Blog
|
|
|
|
|
Is it possible to do this?
I can do it with a List<> but with an array it won't compile - 'Indentifier expected' where the open square bracket is.
Doesn't work:
public static implicit operator Range(DateTime[] dateTimeArray)
{
if (dateTimeArray.Length == 2)
return new Range(dateTimeArray[0], dateTimeArray[1]);
throw new ArgumentException("Invalid number of arguments");
}
Does work:
public static implicit operator Range (List<DateTime> dateTimeList)
{
if (dateTimeList.Count == 2)
return new Range(dateTimeList[0], dateTimeList[1]);
throw new ArgumentException("Invalid number of arguments");
}
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Wierd - the damn thing started compiling and working just after posting - bizzare! The CP touch
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Hmm, cool. Implicit operators are neat/weird.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
The docs for Enum says (paraphrasing) "Enumerations have an underlying type used for storage, which by default is int"
So I have:
using System;
namespace Employee_Example1
{
public enum EmployeeType
{
FullTime = 0,
PartTime = 1,
Contract = 2,
Other = 3
}
public class Employee_Base
{
public int iEmpId = 0;
public int iEmployeeType = EmployeeType.FullTime;
public double dSalary = 0.00;
public string sLastName = "";
public string sFirstName = "";
public Employee_Base()
{
}
}
}
So why am I getting the error "Cannot implicitly convert type 'Employee_Example1.EmployeeType' to 'int'"
I have also tried "public enum EmployeeType : int", and it still won't compile. However, this works:
public int iEmployeeType = (int)EmployeeType.FullTime;
The question is, if the enum's underlying type is int, why do I need to cast?
Everything makes sense in someone's mind
|
|
|
|
|
There's unfortunately no implicit conversion from enum to int, although it should be possible without problems. I guess it's for the sake of type safety, C# is a bit restrictive here.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
As Greeeg said above, there is no implicit conversion for a enum into an int. All conversions need to be done explicitly.
Just a question/though about your base class: why are you storing the enum as an int? I think for program clarity and maintainability, storing EmployeeType as the enum type would be the best way to go (and it will be more clear if your going to have an object out of the base).
|
|
|
|
|
From the enum docs[^]:
"The underlying type specifies how much storage is
allocated for each enumerator. However, an explicit
cast is needed to convert from enum type to an integral
type."
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
KMAROIS wrote: which by default is int
It can be other types including strings so explicit casting is the only logical way - implicit would create a whole bunch of problems!
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Do you know how to create enums based on strings? That would be very useful to me.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
Do you mean putting strings rather than int ? AFAIK, you can use attributes for the enum and specify the string value there, use reflection to read the attribute and it's value. I have seen some good articles here written by PiebelConsult and Scott dorman.
|
|
|
|
|
Navaneeth is correct in his response - I was wrong, you can't use strings directly . I knew I'd used them before but forgot that I'd used attributes to do it. There's many examples around of different methods of achieving a string enum. An interesting one is here[^].
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Lol no worries. The attribute trick might be worth it, although with reflection you can get the name of an enum constant (of course these are subject to C# naming rules). That library looks interesting. Thanks to both of you for the responses.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
I want to drag and drop custom control on the form this control had been inherited from using System.Windows.Forms.UserControl
hint:
1) an object of this control will be created at runtime by reflection then will be added to the form collection(System.Windows.Forms.Form.Controls).
2) the form_MouseClick EventHandler is used to create the control on the form
My problem
how can i get a certin control from the(System.Windows.Forms.Form.Controls),then handel its events of drag and drop ?
|
|
|
|
|
Hello,
I have an application made in asp with an SQL Database not published to the Web.I want to make another application via ASP.net that use the same database and post it to the server. (I think i have to post also these database)
Do the .net Remoting can allow to me accessing these database without posting it to the server.(costing of database hosting is very expensive).
Best Regards.
dghdfghdfghdfghdgh
|
|
|
|
|
I think you have a couple options. Either use SQL Express or SQL CE on the server (which are free), or host the database yourself and connect to it from your server.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
I have made my own control inherited from System.Windows.Forms.UserControl
then by using reflection I have created an object from my own control at run time
after creation this control have been added to the collection of the container(form)
System.Windows.Forms.Form.Controls.
the problem is
When the control is in the form (before runtime) it's easy to handel any of its events but now how to handel this control's events as (MouseDown , MouseUp , DragDrop , DragEnter and DragOver) as this control has never been created yet ?
|
|
|
|
|
So, somewhere in your code you have something like this:
YourControl control = Activator.CreateInstance<yourcontrol>(...);
this.Controls.Add(control);</yourcontrol>
You have to associate the events after creating the object, before the control variable goes out of scope:
YourControl control = Activator.CreateInstance<yourcontrol>(...);
this.Controls.Add(control);
control.MouseDown += ... ;
control.MouseUp += ... ;
</yourcontrol>
After writing += press tab and visual studio completes it for you.
However if the you are trying to do something internal to the YourControl class, you should encapsulate the behavior in the class, associating the events in the constructor.
Cheers,
rotter
|
|
|
|
|
Write the event handler beforehand, so you have something like this in your code:
public void ControlEventHandler(object sender, EventArgs args)
{
}
and repeat this also for the mouse/drag event handlers. Next, when you create your control at runtime, simply assign these event handlers, like that:
Control ctl = new Button();
ctl.Click += new EventHandler(ControlEventHandler);
this.Controls.Add(ctl);
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
I drop ifelse activity to workflow, but i see a red exclamation mark that tell me "Executes contained activities based on condition specified".i don't know where write my condition.please help me.
|
|
|
|
|
Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.
|
|
|
|
|
Hi,
How can I reach database relation diagram of sql by using smo? I want to learn parent key table of any column if that column is foreign key.
Forexample, in northwind database, in products table, there is categoryid column. This column is related to id in Category table. I want to find this.
Best Regards
THANKS
|
|
|
|
|
Hi friends,
How can I use Windows keyboard api to press some keyboar keys without using keyboard? I want to press some of keyboard keys by clicking button?
If you give sample code or link, I will be very glad?
Best Regard
Thanks
modified on Monday, August 25, 2008 9:26 AM
|
|
|
|
|