यह टैब पृष्ठों जबकि शीर्ष पर ध्यान केंद्रित रखने के रूप में ऊपर यहाँ पूछा चयन करता है,:
tc.TabPages[0].Enabled = false;
tc.SelectTab(0);
tc.TabPages[0].Enabled = true;
टीसी यहाँ TabControl प्रकार के लिए मेरी उदाहरण है (यानी यह मेरी टैब नियंत्रण है, और यह है कुछ "टैब पेज")। यह मेरे लिए ठीक से काम करता है। मेरा उद्देश्य इन टैब पृष्ठों के माध्यम से बाएं और दाएं कुंजी (arrows)
i के माध्यम से लूप करना है I ई। जब मैं आगे जाने के (Key.Right
द्वारा) और DataGridView जो मुझे लगता है कि पेज में है, और सक्रिय किए बिना तक पहुँचने पिछले tabpage
मैं [0]
पर अपना ध्यान केंद्रित करना चाहते हैं जब मैं पीछे की ओर जाना (Key.Left
द्वारा) और [0]
तक पहुँचने मैं करना चाहते हैं [tc.TabCount - 1] सक्षम, जो अंतिम है। इस मामले के लिए कोड है:
tc.TabPages[tc.TabCount - 1].Enabled = false;
tc.SelectTab(tc.TabCount - 1);
tc.TabPages[tc.TabCount - 1].Enabled = true;
कोड की पूरी टुकड़ा है:
private bool KeyTc(System.Windows.Forms.Keys keyData)
{
if (keyData == K.Left && tc.SelectedIndex == 0)
{
tc.TabPages[tc.TabCount - 1].Enabled = false;
tc.SelectTab(tc.TabCount - 1);
tc.TabPages[tc.TabCount - 1].Enabled = true;
return true;
}
else if (keyData == K.Right && tc.SelectedIndex == tc.TabCount - 1)
{
tc.TabPages[0].Enabled = false;
tc.SelectTab(0);
tc.TabPages[0].Enabled = true;
return true;
}
return false;
}
यह bool KeyTc
में महत्वपूर्ण मूल्यांकन के लिए एक स्विच बयान में एक मामले में लौट आता है:
protected override bool ProcessCmdKey(ref Message keyMsg, Keys keyData)
{ switch keyData { ... } }
हालांकि मुझे नहीं लगता कि यह एक आदर्श समाधान है, यह विचार मेरे आवेदन में सबसे अच्छा काम कर रहा है। धन्यवाद। – TheSean
मदद की खुशी है :) – digEmAll
मुझे यकीन नहीं है कि यह समाधान सभी मामलों में काम करेगा या नहीं, [यह सवाल] देखें (http://stackoverflow.com/q/435433/806690)। – tm1