PDA

View Full Version : سوال: کد کلیدهای جهت دار



csharpdoost
جمعه 04 تیر 1389, 13:23 عصر
دوستان سلام
یه مهنس نیکوکار کد کلیدهای جهت دار و طرز استفادشون رو میگه؟
البته جستجو کردم و کدهای مختلفی پیدا کردم !! اما همونها هم جواب نمیدن . مثل 72 و 80و 75 و 77 من این کد هارو بصورت e.keypres و ساختار سوئیچ استفاده کردم تا بین چند تا radiobutton با کلیدهای جهت دار حرکت کنم. اما جواب نمیده.:متفکر:

Mohandes2009
جمعه 04 تیر 1389, 13:27 عصر
دوستان سلام
یه مهنس نیکوکار کد کلیدهای جهت دار و طرز استفادشون رو میگه؟
البته جستجو کردم و کدهای مختلفی پیدا کردم !! اما همونها هم جواب نمیدن . مثل 72 و 80و 75 و 77 من این کد هارو بصورت e.keypres و ساختار سوئیچ استفاده کردم تا بین چند تا radiobutton با کلیدهای جهت دار حرکت کنم. اما جواب نمیده.:متفکر:
http://barnamenevis.org/forum/showthread.php?t=229947

Salar Ashgi
جمعه 04 تیر 1389, 14:31 عصر
یک مثال ساده :



private void radioButton1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down)
{
radioButton2.Checked = true;
}
}

private void radioButton2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
radioButton1.Checked = true;
}
}

ostovarit
شنبه 05 تیر 1389, 09:47 صبح
من یک مشکل در همین مورد داشتم و اون اینه که وقتی کلید چپ رو میزنیم در برنامه راست میره و بلعکس ...

این به خاطر فارسی بودن برخی کنترلهاست؟؟؟

راه حل چیه؟؟؟

csharpdoost
یک شنبه 06 تیر 1389, 14:10 عصر
یک مثال ساده :



private void radioButton1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down)
{
radioButton2.Checked = true;
}
}

private void radioButton2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Up)
{
radioButton1.Checked = true;
}
}

با تشکر
این کد جواب نمیده . البته در مورد چند تا textbox و با دستور focus جواب میده اما در مورد radiobutton هیچکدوم جواب نمیده.

csharpdoost
یک شنبه 06 تیر 1389, 14:12 عصر
من یک مشکل در همین مورد داشتم و اون اینه که وقتی کلید چپ رو میزنیم در برنامه راست میره و بلعکس ...

این به خاطر فارسی بودن برخی کنترلهاست؟؟؟

راه حل چیه؟؟؟
شما دوست عزیز همون کدی که برعکس عمل میکنه رو میشه بگید؟

ostovarit
یک شنبه 06 تیر 1389, 16:06 عصر
شما دوست عزیز همون کدی که برعکس عمل میکنه رو میشه بگید؟

نکته اینجاست که من کدی برای این قضیه ننوشتم و الان متوجه شدم که کلید های جهت نما بر عکس عمل میکنند باید در تنظیمات نرم افزار یا فرم ها راه حلی برای این قضیه باشه!

شایدم مربوط به فارسی بودن فرم باشه که بعید میدونم

Salar Ashgi
یک شنبه 06 تیر 1389, 16:19 عصر
این کد جواب نمیده . البته در مورد چند تا textbox و با دستور focus جواب میده اما در مورد radiobutton هیچکدوم جواب نمیده.


دوست عزیز ، من این کد رو کاملا تست کردم و درست جواب میده !

حالا نمیدونم شما کد رو چه جوری واردش میکنی ؟ یا اینکه صورت مساله یه چیز دیگس !

csharpdoost
یک شنبه 06 تیر 1389, 18:49 عصر
دوست عزیز ، من این کد رو کاملا تست کردم و درست جواب میده !

حالا نمیدونم شما کد رو چه جوری واردش میکنی ؟ یا اینکه صورت مساله یه چیز دیگس !
دوست عزیز با تشکر از توجهتون
احتمالا شما چند radiobuttonرا به ترتیب زیر هم قرار می دهید مثل:
radiobutton1
radiobutton2
radiobutton3
radiobutton4
در این حالت حتی اگه هیچ کدی هم نوشته نشه به ترتیب میتوان بین انها حرکت کرد البته از 4به 1 باز هم مشکل وجود داردو بالعکس.
حال اگر radiobuttonها را نامرتب زیر هم قرار دهید :

radiobutton1
radiobutton3
radiobutton2
radiobutto4
در این حالت بدون کد حرکت در بین انها همان ترتیب قبلی خواهد بود یعنی 1و 2 و3و4 یعنی حرکتی نامنظم .
بلکه میخواهیم در این حالت از 1 به 3 و سپس به 2 و سپس به 4 و از 4 هم به 1 یعنی حالتی چرخشی .و بالعکس
این کدی که شما فرمودید تاثیری در این گونه حرکت ندارد خودتون میتونید تست کنید.

csharpdoost
دوشنبه 07 تیر 1389, 10:15 صبح
دوستان و مهندسین عزیز
زکات علم در نشر ان است کسی نمی خواد روزش رو با زکات دادن اغاز کنه ؟

csharpdoost
دوشنبه 07 تیر 1389, 17:18 عصر
دوستان برای پروژه ام این مورد ضروریه اگه کسی میتونه بی زحمت کمکم کنه .
پیشاپیش کمال تشکر را دارم

mahdi87_gh
دوشنبه 07 تیر 1389, 20:22 عصر
دوست عزیز فکر کنم باید keyPreview فرم رو true کنید اونوقت حتما کد جناب salar_cpp_cs (http://barnamenevis.org/forum/member.php?u=70109) جواب خواهد داد.البته هنوز تست نکردم ولی کدشون هیچ اشکالی نداره

ostovarit
دوشنبه 07 تیر 1389, 20:25 عصر
دوست عزیز فکر کنم باید keyPreview فرم رو true کنید اونوقت حتما کد جنابsalar_cpp_cs (http://barnamenevis.org/forum/member.php?u=70109)جواب خواهد داد.البته هنوز تست نکردم ولی کدشون هیچ اشکالی نداره

دوست عزیز من وقتی با کلید های فلش روی Button ها حرکت میکنم برعکس عمل میکنه چپ و راست ... دلیلش رو میدونید !

mahdi87_gh
دوشنبه 07 تیر 1389, 20:48 عصر
دلیلش رو نمیدونم. همچنین منکه نمیدونم شما چه کدی استفاده کردین. این کد رو هم امتحان کن:

if (e.KeyData == Keys.Right)
{
this.GetNextControl((Control)sender, true);
}البته باید tabIndex ها رو اول مرتب کنی.همچنین keypreview=true