ورود

نسخه کامل مشاهده نسخه کامل : سوال : حرکت در فیلدهای متنی توسط اینتر



hadi_en
21-01-2011, 15:02
سلام دو تا سوال داشتم

اول اینکه چطوری در سی شارپ میشه کاری کرد که کاربر وقتی مقادیر رو در فیلدها وارد میکنه با اینتر به فیلد بعد بره ؟


دوم اینکه در یک فیلد متنی چند خطه چطوری میشه خطوطی رو که می خواهیم جدا از هم باشند اینتر بزنیم ؟

با تشکر

عــــلی
22-01-2011, 08:56
سلام دوست عزیز اینا خودش در خونش هست شما نیازی نیست بنویسید.
از DataGridView استفاده کنید.
موفق باشید.

Macdiano
22-01-2011, 09:26
سلام دو تا سوال داشتم

اول اینکه چطوری در سی شارپ میشه کاری کرد که کاربر وقتی مقادیر رو در فیلدها وارد میکنه با اینتر به فیلد بعد بره ؟


دوم اینکه در یک فیلد متنی چند خطه چطوری میشه خطوطی رو که می خواهیم جدا از هم باشند اینتر بزنیم ؟

با تشکر

سلام

اگر منظورتون از فیلدهای متنی همون TextBox هست شما باید در Event KeyPress تکست باکس مورد نظر کد زیر را بنویسید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای ایجاد فاصله بین خطوط TextBox ی که MultiLine هست میتونید از "r\n\" استفاده کنید.

hadi_en
22-01-2011, 22:15
سلام

اگر منظورتون از فیلدهای متنی همون TextBox هست شما باید در Event KeyPress تکست باکس مورد نظر کد زیر را بنویسید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای ایجاد فاصله بین خطوط TextBox ی که MultiLine هست میتونید از "r\n\" استفاده کنید.


ممنون از شما

درست شد نکته که در مورد حرکت در فیلدها بهش برخودم وقتی که اینتر زده میشه و به فیلد بعد میره صدای بیپ از سیستم میاد نمیشه اینو یه کاریش کرد

بعد چطوری میشه به طور دستی اشاره گر رو به یه فیلد متنی که مورد نظر ماست هدایت کنیم ؟

ممنون

Macdiano
23-01-2011, 09:30
ممنون از شما

درست شد نکته که در مورد حرکت در فیلدها بهش برخودم وقتی که اینتر زده میشه و به فیلد بعد میره صدای بیپ از سیستم میاد نمیشه اینو یه کاریش کرد




کد قبلی رو به صورت زیر تغییر بدید, ببینید درست میشه نتیجه اش رو بگید.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید




بعد چطوری میشه به طور دستی اشاره گر رو به یه فیلد متنی که مورد نظر ماست هدایت کنیم ؟

ممنون

به طور مثال اگر بخواهید Focus رو به صورت دستی روی textbox1 قرار دهید, باید بنویسید:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hadi_en
23-01-2011, 21:49
نشد دوست من روی OnKeyPass پیغام خطا میده :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

با برداشتن قسمت else هم تغییری تو برنامه ایجاد نشد

Macdiano
24-01-2011, 11:10
یه راه حل دیگه هم از توی نت پیدا کردم

به جای همه اونها شما فقط کد زیر رو کپی کنید در کلاس فرم مورد نظر. (کدهای روش قبل را پاک کنید)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

hadi_en
27-01-2011, 08:32
بینهایت سپاسگزارم

درست شد تو این روش دیگه با رفتم به فیلد بعدی صدای بیپ از اسپیکر نمیاد فقط یه موردی اینجا پیش اومده که تو روش قبلی نبود وقتی با اینتر روی عناصر در حال حرکت هست وقتی روی یه دکمه میاد با اینتر به عنصر بعدی میره در صورتی که باید با اینتر روی دکمه ، برنامه اجرا بشه تا اونجا که برداشت کردم باید یه شرط بزاریم توی تابع که اگه دکمه ای با فلان نام بود کلا کد داخل تابع اجرا نشه چطوری باید نام عنصر فعلی رو دریافت و چک کنم یا یه راهی که این قضیه رو بشه کنترل کرد

ممنون

Macdiano
27-01-2011, 13:22
بینهایت سپاسگزارم

فقط یه موردی اینجا پیش اومده که تو روش قبلی نبود وقتی با اینتر روی عناصر در حال حرکت هست وقتی روی یه دکمه میاد با اینتر به عنصر بعدی میره در صورتی که باید با اینتر روی دکمه ، برنامه اجرا بشه تا اونجا که برداشت کردم باید یه شرط بزاریم توی تابع که اگه دکمه ای با فلان نام بود کلا کد داخل تابع اجرا نشه چطوری باید نام عنصر فعلی رو دریافت و چک کنم یا یه راهی که این قضیه رو بشه کنترل کرد

ممنون

بهتر است نوع کنترل جاری رو چک کنید تا نام اون

شرطی که اضافه میکنیم اینه که اگر نوع کنترل جاری از جنس Button بود دستورات داخل if اجرا نشه

برای دسترسی به کنترل جاری از دستور this.ActiveControl استفاده میکنیم.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید