|
OK. I have done what you have recommended, but it is unuseful. I have written then next mousemove event fot both the inkpictures:
private void inkPicture_MouseMove(object sender, MouseEventArgs e)
{
if (dragging)
{
PictureBox pb = (PictureBox)sender;
if (e.Button == MouseButtons.Left)
{
if (pb == pictureBox1)
{
target = 1;
}
else if (pb == pictureBox2)
{
Console.WriteLine("Asigned 2");
}
}
}
}
What I want is to get both the message "Asigned 1" and "Asigned 2" WITHOUT RELEASE THE MOUSE BUTTON, I mean, clicking and holding the mouse button in one of the two pictureboxes and going over the other one with the button still clicked. Please, try it. If you keep the button pressed when you leave the original picturebox, it remains throwing the mousemove event for that picturebox you have just leaved as if you were still in its area. That is my problem, and that is why I cannot detect when entering the new picturebox. I really hope my explanation to be clearly enough this time.
Any ideas?
Thank you very much in advance!!!
|
|
|
|
|
Finally I got it. It seems that there is some kind of problem with mousemove when the mouse button is pressed and you get out of a control area, so finally I programmed it manually (this is what I was trying to avoid, Skywalker). I also had some problems with the "Contains" method, so I programmed it manually too. Here is the code for the mousemove event for both the pictureboxes:
public bool Contains(Rectangle r, Point p)
{
return (p.X >= r.X && p.Y >= r.Y && p.X <= (r.X + r.Width) && p.Y <= (r.Y + r.Height)) ? true : false;
}
private void inkPicture_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point pt = this.PointToClient(System.Windows.Forms.Cursor.Position);
if (Contains(pictureBox1.Bounds, pt))
{
Console.WriteLine("Assigned 1");
}
else if (Contains(pictureBox1.Bounds, pt))
{
Console.WriteLine("Assigned 2");
}
}
}
}
Thank you ver much!
|
|
|
|
|
Hi
Pls help i'm looking alogorithm for encryption code to secure information using remote access. and how to connect Ms Access(Database) with java to store password and username in database.
zskhumalo
|
|
|
|
|
I have suddenly found that some of the forms in my app will no longer show in the designer, they show the above message, and this stack trace:
at System.Windows.Forms.NativeWindow.WindowClass.RegisterClass()
at System.Windows.Forms.NativeWindow.WindowClass.Create(String className, Int32 classStyle)
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.TabControl.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.ControlCollection.Add(Control value)
at System.Windows.Forms.Form.ControlCollection.Add(Control value)
at System.Windows.Forms.Design.ControlDesigner.DesignerControlCollection.Add(Control c)
According to google, it seems I'm the only one to whom this has happened in the designer. This is happening on forms I have not modified. Any thoughts ?
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Hello Christian,
Looks like a control (UserControl) on your form throws an exception on design time. (Constructor code, eventhandler, property setter, ...)
Have you tried to connect to your design process over a second instance?
If you then change the settings that you jump in the code whenever an exception is thrown, you would find the problem.
All the best,
Martin
|
|
|
|
|
Martin# wrote: Have you tried to connect to your design process over a second instance?
how do you do that?
life is study!!!
|
|
|
|
|
For example the VisualStudio starts a process called "devenv.exe".
In my studio under "Debug"-"Process" you can connect this process.
All the best,
Martin
|
|
|
|
|
cool.. thx man!!
life is study!!!
|
|
|
|
|
Yeah, tried that, it didn't catch anything.
Christian Graus - C++ MVP
'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
|
|
|
|
|
Hmmm,
What I also have sometimes:
Our Project is under subversion control.
If I update my projects - then open the solution - then open a form with controls thet have been changed, without compiling; Then the designer is "confused" and shows me a blank form.
What I have to do then is to close all forms and classes, then close the "Project map" ("Projektmappe schließen" in german) and close the Studio.
After starting the solution and compiling it works again.
All the best,
Martin
|
|
|
|
|
Yah.. this is happened frequently for, me..
Whenever i do some designer changes.. any change in designer.cs file, the form will scream in Red color or it will say Intializer error or sometime it will be blank screen
The only solution is to close the project/studio and reopen and rebuild again.
Srini
|
|
|
|
|
happened to me a lot of times.. my solution is to close designer, open source and from the source click 'view designer'.. if this doesn't help i build solution (designer closed) and then reopen designer from source..
life is study!!!
|
|
|
|
|
Hi Christian,
two ideas:
1)
recent wsod article[^]
2)
include a statement "if (DesignMode) return;"
in your constructor; initially right after InitializeComponent(), then start moving it
down until it fails again.
Luc Pattyn
|
|
|
|
|
Thanks - I've tried (2) in the past, only thing is, in this case, it fails just creating the window. And, no code has changed. I'll look at the article.
I also have at least one crash that seems to execute code inside the DesignMode block, and so I can't get rid of it.
Christian Graus - C++ MVP
'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
|
|
|
|
|
You wrote earlier "some of the forms in my app", do they have something in common,
maybe a common ancestor (other than Form) ? If so, I would try the DesignMode test in there.
Luc Pattyn
|
|
|
|
|
That's a good thought, but no.
Christian Graus - C++ MVP
'Why don't we jump on a fad that hasn't already been widely discredited ?' - Dilbert
|
|
|
|
|
You should even try the DesignMode test before InitializeComponent:
if your form includes a problematic control (most likely a UserControl), its creation inside
InitializeComponent could fail or throw.
Luc Pattyn
|
|
|
|
|
Hello,
If this is the case he would have seen some exception occuring as he tested to connect with a second instance.
I also wrote the article and the idea of DesignMode.
I have to say that I'm not a friend of this "workarounds".
I'm working alot with usercontrols and inherited controls, which are than been placed in an other Usercontrol, ....
And I think, this is the problem of the DesignMode property, in thoose cases (UserContol1 on UserControl2 on Form) you will get a "false" back from the property.
Not so long ago I searched and removed every "DesignMode" usage in my project and tried to find the real proplems.
Most time it's been done by a "if!=null" statement.
To sumup, I have no solution, but I think workarounds are not working forever.
All the best,
Martin
|
|
|
|
|
Hi,
I did not intend to suggest to permanently put an if(DesignerMode)return; in the code;
my intention was just to help pinpoint where exactly things start to go wrong,
expecting that info would point to the real problem, and hopefully the real solution.
So there is no workaround involved, just a plan of attack.
In general, I would try not to add if statements at all: the more of them, the harder it
gets to test all cases, and to understand what goes wrong when things starts to fail...
Luc Pattyn
|
|
|
|
|
Luc Pattyn wrote: I did not intend to suggest to permanently put an if(DesignerMode)return; in the code;
my intention was just to help pinpoint where exactly things start to go wrong,
expecting that info would point to the real problem, and hopefully the real solution.
I really didn't wanted to pick out your statement.
It was just a general statement which followed what has been discused so far.
Luc Pattyn wrote: In general, I would try not to add if statements at all: the more of them, the harder it
gets to test all cases, and to understand what goes wrong when things starts to fail...
Again a nice summary!
All the best,
Martin
|
|
|
|
|
I need to generate some reports in XLS format and I want to code something in C# that will allow me to manipulate the files. I have seen some basic read/write solutions on this site. I am interested on how i can change the color of a specified cell int the spreadsheet or merge a few cells . Any help or link is greatly appreciated.
|
|
|
|
|
Hello,
I have a question. I want to make a small designer for my application. For that I use the DesignSurface class. this all works very fine, but now I have one small problem too. The standard view (surface.View) has as background another control and the real control which I design is not on (0,0) . For some reason I need the position of (0,0) for the control to design. Knows anyone a solution for this?
Regards
Hansjörg
|
|
|
|
|
Hi guyes
Does anyone know how to convert the data in a dataset into an array.
All the best
Al
|
|
|
|
|
array of what? datarows, strings, objects?!
anyway you have to iterate through Rows in Tables in the dataset adding data to desired array
life is study!!!
|
|
|
|
|
how to create Create Windows User Account or Windows Administrator Account through C# programming.
Sanjit.rajbanshi@wlinktech.com
|
|
|
|