|
Hello,
I have written a method to process shortcut entries in my main form that simply dispatches messages to related methods for the button presses. But my problem is that when Key.Left or Key.Right is pressed for the "first" time, KeyDown event is not triggered for my following method:
KeyPreview property of main form is set to true,
private void shortcutKeyDown(object sender, KeyEventArgs e)
{
if (!e.Control && !e.Alt && !e.Shift)
{
switch (e.KeyCode)
{
case (Keys.Left):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.Right):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.E):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.W):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.P):
{
CallRelatedMethod(this, e);
break;
}
default:
break;
}
}
}
Test Notes:
Other keys "W, E, P" triggers the Keydown event without any problems.
When Left or Right key is pressed for the second time Keydown event is triggered.
Could not find similar problems in google or here so probably I am missing a simple point but I cannot see.
Any help is appreciated.
Thank you,
|
|
|
|
|
Maybe you should write in FormKeyDown event or if you can try to catch windows keypresses.
|
|
|
|
|
i modify your code to :
if (e.Control || e.Alt || e.Shift) return;
switch (e.KeyCode)
{
case (Keys.Left):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.Right):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.E):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.W):
{
CallRelatedMethod(this, e);
break;
}
case (Keys.P):
{
CallRelatedMethod(this, e);
break;
}
default:
break;
}
hope it help
dhaim
program is hobby that make some money as side effect
|
|
|
|
|
Thank you for your time guys,
With your approach to the method here are some more details:
- I have assigned this method to every control that can have focus. (I have only a toolbar and a form thats all.)
(Subscribed to form, toolbar keyDown events.)
- dhaim, thank you for your modification but unfortunately I dont have a problem as the code does not run in the if() statement. When I debug the code and insert a break to the beginning of the method, I saw that the Keydown event is not triggered when I first press left or right button. Which means the method is never executed although a keydown event occurs.
Thank you again, for your precious time.
|
|
|
|
|
some controls takes the control when you focused. you must lostfocus before catch the keypress.
like webBrowser, datagridview.
You must override theirs events..
|
|
|
|
|
I have tested your suggestion and I am pretty sure that main form has the focus when the program is first executed and left/right arrow is pressed as a shortcut.
Thank you,
|
|
|
|
|
yes sir, I found your problem
use FormKeyUp event. It works for all.
also here is a simple sample.
private void frmMain_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyValue == 114)
SendKeys.Send("^{TAB}");
if (e.KeyValue == 115)
SendKeys.Send("^+{TAB}");
}
|
|
|
|
|
Even if I use KeyUp or KeyDown event the result does not change. Issue is still there.
When I debug the code and insert a break to the beginning of the method, I saw that the Keydown/KeyUp event is not triggered when I first press left or right button. Which means the method is never executed although a keydown/KeyUp event occurs.
I think I am missing something different than catching the pressed key because when I press the left/right twice everything work just fine.
Thank you Engin,
|
|
|
|
|
it's working for me, strange
event is triggered when I first press left or right and for all buttons.
I don't know "why", sorry
|
|
|
|
|
Hello everyone,
I am writing a simple client which downloads Pages from Http Web site. Sometimes I received errors like 502 or 503 (Http error code), and I am wondering,
- What do they mean?
- Are they pure server side issue? Or I could improve by adding some additional information to my Http request (e.g. provide user name and password, provide locale information?)
thanks in advance,
George
|
|
|
|
|
502 is a bad gateway error. This occurs when the server which you are requesting is getting data from another server and some problem happened on that response. See here[^] for HTTP error codes and definitions.
|
|
|
|
|
Thanks N a v a n e e t h,
I found the description for 502 is very brief in the page. Could you describe,
1. Some normal scenarios when 502 will happen?
2. Is it client side or server side issue?
3. What means "The server, while acting as a gateway or proxy"? I am accessing some URL, it should be the exact web server, why it acts as gateway or proxy?
regards,
George
|
|
|
|
|
George_George wrote: Is it client side or server side issue?
It's a server side issue. Don't know the scenarios in which it appears.
George_George wrote: What means "The server, while acting as a gateway or proxy"? I am accessing some URL, it should be the exact web server, why it acts as gateway or proxy?
Sometimes the server you are giving request is not the server which gives you output. Your server will give request to another one and if anything wrong in that response, 502 is returned. Some servers will be proxy servers which just routes the request to another server.
|
|
|
|
|
Great and thanks N a v a n e e t h!
1.
Why they use some servers acting as gateway/proxy? For performance or security reasons? Or something else?
2.
I think 503 means error from the exact server/URL we are requesting, and 502 means error from the not the server/URL we are requesting, i.e. a gateway or proxy? Could I understand in this way?
regards,
George
|
|
|
|
|
George_George wrote: I think 503 means error from the exact server/URL we are requesting
Not the exact URL no. Exact URL can mean any number of things. Not all server side technologies are equal. Similar perhaps but not equal. The actual problem should be of no consideration to a client application. The actual problem is only of interest to someone attempting to solve the problem on the server and the problem diagnosis will be specific to the server software being used.
led mike
|
|
|
|
|
Sorry led mike, I have not made question clear enough. I am not developing server side application, but writing an Http client to request some pages for data to use.
My question is, if at Http client side, there is 502 or 503 error, how could the client improve itself to reduce some error? I am not sure whether it is caused by missing some Http session/cookie/headers?
regards,
George
|
|
|
|
|
1 - I don't think that there is perfromance benefits. One example of why it is used would be to organize things. So a user can request for books to a proxy server and proxy knows where to find the information and it redirects the request to there. Proxy servers usually alters the original request they got. When these servers are just redirecting the request to another one, it's called as gateway, not proxy.
2 - No. 503 is shown when server is overloaded or when it just refuses the connection.
|
|
|
|
|
Thanks N a v a n e e t h,
1.
You mean gateway is served as redirection purpose and proxy is served as performance improvement purpose?
2.
N a v a n e e t h wrote: No. 503 is shown when server is overloaded or when it just refuses the connection.
I agree it is one reason why server returns 503, but is it the only reason? Do you have any documents to support your claim?
regards,
George
|
|
|
|
|
1 - If a server just redirects the request to another server, it is gateway. When server alteres the request and pass that to another server, it is proxy. There is no performance considertations, AFAIK.
2 - Yeah, W3C tells this is the reason. You can find the defnition in the URL which I given in an earlier post.
|
|
|
|
|
Thanks N a v a n e e t h,
1.
"If a server just redirects the request to another server, it is gateway"
"alteres the request and pass that to another server, it is proxy"
From your above two statements, I can not see any differences.
Sorry my English is not very good, could you clarify please?
2.
N a v a n e e t h wrote: Yeah, W3C tells this is the reason. You can find the defnition in the URL which I given in an earlier post.
Yes, it tells the reason in general. But not telling whether I could improve it by client side. Any ideas or comments?
regards,
George
|
|
|
|
|
George_George wrote: From your above two statements, I can not see any differences
is it ? "If a server redirects the request to another server without modifying the request details, it's called as gateway. When it modifies the request it gets, say it may add some more headers to the request, and redirects the modified request to another server, then it is known as proxy".
George_George wrote: But not telling whether I could improve it by client side
You need to keep what they said in mind and do testing. I don't think you will get a better explanation.
|
|
|
|
|
Thanks N a v a n e e t h,
1.
N a v a n e e t h wrote: may add some more headers to the request
For what purpose?
2.
You mentioned using proxy or gateway is not for performance improvement, so what is its purpose?
3.
N a v a n e e t h wrote: You need to keep what they said in mind and do testing. I don't think you will get a better explanation.
I could only think of retry if it is server maintenance issue. Do you have any ideas or experience of how to avoid such issues from client side?
regards,
George
|
|
|
|
|
George_George wrote: Do you have any ideas or experience of how to avoid such issues from client side?
What? How can you avoid a server condition from client side? That makes no sense at all.
George_George wrote: You mentioned using proxy or gateway is not for performance improvement, so what is its purpose?
What is it's purpose? Are you kidding me? You don't think that information is easily obtained elsewhere on the internet? Do you have some sort of job that pays you based on the number of questions you ask in internet forums?
http://en.wikipedia.org/wiki/Web_proxy[^]
led mike
|
|
|
|
|
Thanks led mike!
led mike wrote: What? How can you avoid a server condition from client side? That makes no sense at all.
I am just wondering whether this error could be caused by missong some Http header fields or some Http body fields from client side? Or just a server side issue?
regards,
George
|
|
|
|
|
George_George wrote: For what purpose?
I was just telling an example, in reality something else will be happening. Concept is proxy modifies the request it gets and redirects tp other server.
George_George wrote: You mentioned using proxy or gateway is not for performance improvement, so what is its purpose?
It's for organizing datas.
George_George wrote: Do you have any ideas or experience of how to avoid such issues from client side?
Sorry, that doesn't make any sense. It's a server side issue and how you are hoping it to be fixed from client side ?
|
|
|
|