當我在文本框中按下頁面時,我想將頁面發送到列表視圖。將文本框中的按鍵重定向到winforms中的列表視圖
有沒有辦法將此按鍵傳遞給列表視圖?或者我必須以編程方式嘗試通過向下移動N行或類似的東西來實現頁面向下?
如果我要用按鍵來解釋它。
- 焦點在文本框上。
(如果我現在按PageDown鍵,這就是我想發生)
- 焦點轉到列表視圖。
- 按下頁面。
- 重新回到文本框。
我只是想知道,如果有一種方法,我可以到ListView控件「通行證」的按鍵,而無需實際做所有的與按鍵,改變焦點等
當我在文本框中按下頁面時,我想將頁面發送到列表視圖。將文本框中的按鍵重定向到winforms中的列表視圖
有沒有辦法將此按鍵傳遞給列表視圖?或者我必須以編程方式嘗試通過向下移動N行或類似的東西來實現頁面向下?
如果我要用按鍵來解釋它。
(如果我現在按PageDown鍵,這就是我想發生)
我只是想知道,如果有一種方法,我可以到ListView控件「通行證」的按鍵,而無需實際做所有的與按鍵,改變焦點等
你是什麼試圖得到,是這樣的?
private void TextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
switch (e.KeyCode) {
case Keys.PageDown:
this.ListView1.Focus();
SendKeys.Send("{pgdn}");
break;
}
}
private void ListView1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
switch (e.KeyCode) {
case Keys.PageDown:
this.TextBox1.Focus();
break;
}
}
編輯:
的另一種方式,在不改變焦點,而無需使用的SendKeys是:
private void TextBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
switch (e.KeyCode) {
case Keys.PageDown:
this.LVW_PGDN();
break;
}
}
private void LVW_PGDN()
{
int top = this.ListView1.TopItem.Index;
int i;
for (i = top; i < this.ListView1.Items.Count; i++) {
this.ListView1.EnsureVisible(i);
if (top < this.ListView1.TopItem.Index) {
break;
}
}
this.ListView1.TopItem = this.ListView1.Items(i - 1);
}
這是正確的想法......但我想知道是否有一種方法可以在不使用sendkeys的情況下觸發事件。如果我在列表視圖中並按下頁面或向上翻頁,我不想將焦點放回文本框。 – Derek
好的!我明白。然後,我將設置一個代碼,您可以使用代替SendKeys而不改變焦點。 –
你的意思是什麼'頁發送到一個列表view'?你的意思是,把重點放在列表視圖? – Rahul
我希望它能像我在列表視圖中按下頁面一樣。所以選擇會下移,列表可能會滾動。但是,當我按下頁面並將焦點放在文本框上時,我希望發生這種情況。焦點將保留在文本框中。 – Derek
oohh !!這是你試圖注入的一種錯誤行爲。 – Rahul