|
Also the int iHundred is pointless. Just whenever you want to use iHundred type the number 100, its the same unless you have iHundred change.
The best way to accelerate a Macintosh is at 9.8m/sec² - Marcus Dolengo
|
|
|
|
|
Thanks heaps Satips and ExpertComing. I wish you could have given more - but hey, then i wouldn't be learning. Once again thanks i eventually got it all worked out.
Aj...
|
|
|
|
|
Just remember variables are ment to be variables, you can make a variable a constant but you do that for things that you want to change in one place. Numbers will always be a number.
The best way to accelerate a Macintosh is at 9.8m/sec² - Marcus Dolengo
|
|
|
|
|
Hi,
can I use c++ classes and headers in c# programs or do I have to reimplement
them?
I am thinking of migrating to c# but I do not want to have to recode
all my existing c++/c code.
|
|
|
|
|
Unless you compile the code into a library using a C++ compiler, start rewriting!
|
|
|
|
|
That is not a silly question at all.
I see three options:
1. use an existing native code (i.e. unmanaged) dll and use P/Invoke (only useful
if you dont have the source)
2. compile C/C++ to managed code dll (requires source code)
3. rewrite to C#
If the existing code is large, good functional match and high quality I would go for 2;
otherwise I would go for 3.
-- modified at 11:31 Saturday 9th June, 2007
|
|
|
|
|
i programmed a program and i want it to be loaded autimatically when windows load. how can i do it in C# ?
|
|
|
|
|
Place a shortcut to your .exe in the Startup folder. You can find your start up folder here:
Start menu -> All Programs -> Startup
Not a C# answer, but will get you what you want.
|
|
|
|
|
This has nothing to do with C#.
There are two Startups. When Windows load, you would have to write your app as a windows service. Or, when the user logs in, you can put a shortcut in either of the Startup folders, or the command line in the Run key in the registry.
|
|
|
|
|
I tried what u said and i got that the directory of the StartUp folder exist in Application.StartUp;
String dir = Application.StartUp;
but how can i store the shortcut of the program or how i build an *.job file?
|
|
|
|
|
I've never heard of a "job" file. Nothing in Windows ever uses one.
To create a shortcut is very easy. click and hold the mouse of your .EXE file and drag it away, while holding the Ctrl key down. Notice the little black arrow in one corner if the icon? Let go of the mouse and you've created a shortcut to that .EXE.
|
|
|
|
|
i know how to use it menually. but how can i do it by C#. i mean how can i create a shortCut by C#? but if you entered to the StartUp directory, there is a *.job files. these files containing a details which relevant to activating the program, when and where.....
|
|
|
|
|
|
Beat me to it!
|
|
|
|
|
|
ok, i have a button that i am dragging around. this much i can handle, but then i thought i would put it on a panel (like change the parent attribute) until the time came to use it and then when the button was clicked, it would set the parent to the main form (this)
the issue is when I do this, i can drag the button around ok if i drag very slowly, if i go to fast, the mouse comes off the button and the button no longer drags.
here is the main code. It uses a panel named panel1 and a button named button1
namespace focus_test
{
public partial class Form1 : Form
{
int xOffset, yOffset;
bool buttonClicked;
public Form1()
{
xOffset = yOffset = 0;
buttonClicked = false;
InitializeComponent();
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
xOffset = e.X;
yOffset = e.Y;
buttonClicked = true;
if (button1.Parent != this)
{
button1.Parent = this;
button1.Left += panel1.Left;
button1.Top += panel1.Top;
}
button1.BringToFront();
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
buttonClicked = false;
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (buttonClicked)
{
button1.Left += (e.X - xOffset);
button1.Top += (e.Y - yOffset);
}
}
}
}
to see what i am seeing, click on the button and hold down the mouse and drag it around. Going too fast (using the term "fast" loosely) the mouse will end up not over the piece any longer and not send a mouse move message to it anymore.
but
if you go over the button and let go of your mouse then click and drag again, you can go as fast as you want like the poor little mouse is welded to the button.
anyone got any clues as to why this is so?
"Details details. Things to do Things to get done. Don't bother me with details just tell me when they're done." James Price
|
|
|
|
|
You have to capture the mouse in the mouse down event.
---
single minded; short sighted; long gone;
|
|
|
|
|
what do you mean?
in the mouse down i currently grab the offset from the button's corner to the mouse, then use that in the mouse move so i can seamlessly move the button in the mouse move by saying button1.Left += (e.X - xOffset); and the same for the top coordinate.
Mouse Down event is only sent once, its not a continuous thing is it? I tried moving in just the mouse down and it only moved once.
"Details details. Things to do Things to get done. Don't bother me with details just tell me when they're done." James Price
|
|
|
|
|
AtomRiot wrote: what do you mean?
Exacly what I said.
Have a look at the Capture property of the control that you want to move.
---
single minded; short sighted; long gone;
|
|
|
|
|
The Capture property is simply a bool variable that you can set. that doesnt change the fact that the button mousedown event is only thrown once and is not continuously. i already have a bool variable in that example that does the same thing the Capture property does.
"Details details. Things to do Things to get done. Don't bother me with details just tell me when they're done." James Price
|
|
|
|
|
AtomRiot wrote: The Capture property is simply a bool variable that you can set.
And you don't think that something happens when you set it? If it was "just a bool variable", then there would hardly be a point of having it as a property of the control.
AtomRiot wrote: that doesnt change the fact that the button mousedown event is only thrown once and is not continuously.
Why would you want the mouse down event to fire continously? That's what you have the mouse move event for.
---
single minded; short sighted; long gone;
|
|
|
|
|
Sorry, but I am a little confused by the usage. I have tried setting the Capture property but I guess I just don't know how to use it properly.
Can you point me to an example of this? Everywhere I search, it looks to be used just as a bool variable for that control.
"Details details. Things to do Things to get done. Don't bother me with details just tell me when they're done." James Price
|
|
|
|
|
Here's how you use it:
private Point start;
private void movable_MouseDown(object sender, MouseEventArgs e) {
Control c = (Control)sender;
start = c.PointToScreen(e.Location);
c.Capture = true;
}
private void movable_MouseUp(object sender, MouseEventArgs e) {
Control c = (Control)sender;
c.Capture = false;
}
private void movable_MouseMove(object sender, MouseEventArgs e) {
Control c = (Control)sender;
if (c.Capture) {
Point mouse = c.PointToScreen(e.Location);
c.Left += mouse.X - start.X;
c.Top += mouse.Y - start.Y;
start = mouse;
}
}
Note: As this code uses the sender argument to reference the control, the code can be reused for the events of several controls that you want to be able to move.
---
single minded; short sighted; long gone;
|
|
|
|
|
Does anyone know if it's possible to write control extenders (similar in concept to the Ajax/ASP extendors) for WinForms controls?
What I'd like to be able to develop is a security widget which attaches to a control(s) which can hide/disable a control(s) based on the users role within an application.
Although I could do this with code in the form, it just seems that having an extender type do-hickey would be a nicer and more re-usable way of doing it...
|
|
|
|
|
I know I am very late with this but I found your question while browsing the web for a solution for a similar problem and I think it is important that other who get here with the same google search are provided with a suggestion for a solution...
C# Custom Control Featuring a Collapsible Panel[^]
|
|
|
|