|
Thanks for the reply.
Luc Pattyn wrote: I rather use a simple Panel, and create a Paint handler for it
Hmmm ... I'll give it a shot
Kind regards,
The only programmers that are better C# programmers, are those who look like this -> |
Programm3r
My Blog: ^_^
|
|
|
|
|
Hi, you need to do as Luc suggests & scale the rectangle of your cropping area. This should do the trick:
float scaleX = (float)bmpImage.Width / (float)this.ClientSize.Width;
float scaleY = (float)bmpImage.Height / (float)this.ClientSize.Height;
rec = new Rectangle((int)(rec.X * scaleX), (int)(rec.Y * scaleY), (int)(rec.Width * scaleX), (int)(rec.Height * scaleY));
"An eye for an eye only ends up making the whole world blind"
|
|
|
|
|
|
Hi, im making a Window Application in C# using Socket Programming. I have developed a Server & a Client. Both are working fine but the problem which im gettin is that when ever i send any message from CLIENT, its send perfectly and receives on SERVER but whenever i try to send any message from SERVER it doesn't send to Client, since at the beginning when a connection is built, server sends the message to client that "Connection Established" and received at Client perfectly,but later on server does not send any message to client!!! Could anyone please help me out ???????
Regards
Umair
|
|
|
|
|
Hi,
could you please send code, how client receives messages? Would help us, to help you.
bye
|
|
|
|
|
//this is the code at client side for receiving data
NetworkStream networkStream = new NetworkStream(server);
string input = textBoxUser.Text + ": " + textBoxWrite.Text;
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] inputByte = encoding.GetBytes(input);
if (networkStream.CanWrite)
{
networkStream.Write(inputByte, 0, inputByte.Length);
textBoxShow.Text = textBoxShow.Text +
Environment.NewLine + input;
textBoxWrite.Text = "";
networkStream.Flush();
}
|
|
|
|
|
looks like a sending code. You used NetworkStream.Write() . That might be the problem.
|
|
|
|
|
but i have also used server.send(AnyMessage);
this isn't working as well..
|
|
|
|
|
Okay, maybe this a problem in understanding:
you wrote code for receiving data at client side, right?
You used the method .Write() . This method writes bytes to the stream. I think in a receiving method you should use e.g. Read(byte[], int, int) , or am I wrong?
|
|
|
|
|
the problem has been resolved.. the message was not sending for the second time to client because i was using IF loop in client side that would take data from server just once, now on the client side i have replaced if by WHILE(true) and it receives the data until a break is performed send by server in the form of Disconnect..newys thank you guys
|
|
|
|
|
muhammad_umair wrote: newys
Syntax error. 'newys' does not exist in the english language.
|
|
|
|
|
Hi all,
I am using Visual Studio 2005 now. But why can't I get this MouseWheel Event of a panel working on? Code for that is as follows:
void t_MouseWheel(object sender, MouseEventArgs e)
{
int numberOfTextLinesToMove = e.Delta * SystemInformation.MouseWheelScrollLines / 120;
int numberOfPixelsToMove = numberOfTextLinesToMove * fontSize;
if (numberOfPixelsToMove != 0)
{
System.Drawing.Drawing2D.Matrix translateMatrix = new System.Drawing.Drawing2D.Matrix();
translateMatrix.Translate(0, numberOfPixelsToMove);
mousePath.Transform(translateMatrix);
}
t.Invalidate();
}
t indicates a TableLayoutPanel.
And then I added this line: t.MouseWheel += new MouseEventHandler(t_MouseWheel); after InitialComponent(); .
Is there anything wrong here?
Please help me... Thanks!
BR!
|
|
|
|
|
Probably because it doesn't have the focus. Do you have any controls on your panel? If not, and you have controls outside the panel, they they will get the focus and your panel will not. I would suggest that you move the MouseWheel event handler to the form, and check if the mouse pointer is over the panel for your processing.
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Hi,
Thanks for your reply. I have some labels on this TableLayoutPanel, and I tried to make this panel get focus by the following code:
void t_MouseEnter(object sender, EventArgs e)
{
t.Focus();
}
But still it doesn't work. I check on the designer window, it's actually doing something cuz the panel is a little bit shaking, however, the panel doesn't scroll up and down. Since I am making a user control, there is a seperated scrollbar beside this panel. Well, that's another thing. Please give some advices, thank you!
Sincerely
|
|
|
|
|
Leapsword wrote: it's actually doing something cuz the panel is a little bit shaking,
OK. So, you didn't set any breakpoints to see if your event fired then ? Sounds like it's firing and your code does not work.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Christian Graus wrote: So, you didn't set any breakpoints to see if your event fired then ?
Well, of course I did. Code works well, but I don't know why it can't scroll, . Anyway, thank you for reply me.
BR!
|
|
|
|
|
The panel itself cannot recieve the focus, because the user cannot "do anything" with it. As a result, it does not get MouseWheel events unless there is a control on the panel which can interact with the user - such as a text box. In your case, what I would do is hook into the panel.Parent.MouseWheel event and use the MouseEventArgs to check if the mouse pointer is over the panel. This should work fine in a custom control (but I haven't tested it).
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Just seen Christians response - I would add Console.WriteLine to your MouseWheel event and look at e.Delta, SystemInformation.MouseWheelScrollLines, numberOfTextLinesToMove, and fontSize. This should confirm that the event is firing, and give you a good idea why it doesn't work.
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
OriginalGriff wrote: I would add Console.WriteLine to your MouseWheel event and look at e.Delta, SystemInformation.MouseWheelScrollLines, numberOfTextLinesToMove, and fontSize.
Yeah, this is a good idea. But since I've put a breakpoint to this event method, I can get all those values in the immediate window and actually, I can see it step by step in locals window when I press Step Into--F10 key once and once again. I will try your suggestion on your last reply and post back here what I got then. Thanks anyway.
|
|
|
|
|
Debugging is fine - I use it a fair amount - but I tend to use Console.WriteLine in all mouse and focus events because they tend to repeat if you breakpoint! (Focus - break - back to form - focus - break - repeat until very bored!)
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Heh , yeah, that's true. This is such a good guide. I will try to do it the same way as well.
|
|
|
|
|
|
I've never had to try to select material outside the visible area (or used a TableLayoutPanel), but I would start by looking at MouseDown, MouseUp and MouseMove because you will probably have to handle the selection yourself.
I just looked at the inheritance heirarchy, and it derives from ScrollableControl, so it should handle scrolling (and by inference selection) itself. Why doesn't that work in yours?
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
Well, that's true. And of course, the TableLayoutPanel can be set as autoscroll[ture]. I think if I can figure out how to make this MouseWheel Event happen, then that's not a problem no more! Hope so!
|
|
|
|
|
May be the TableLayoutControl contain other controls, such controls covering the TableLayoutContol top, in this time, the OnMouseWheel event may be received by TableLayoutControl's child control.
|
|
|
|