PDA

View Full Version : usercontro



karimi84
دوشنبه 13 آذر 1385, 16:15 عصر
با سلام
دربرنامه شامل یک usercontrol می باشد
که این کنترل را داخل برنامه اضافه کرده ام
و این کنترل شامل یک گرید است
حال میخواهم وقتی که کاربر برروی گرید این کنترل دوبار کلیک کرد برروی فرم تغییراتی اعمال شود
چطور می توانم این کار را انجام بدهم

PC2st
سه شنبه 14 آذر 1385, 21:45 عصر
از رویداد DoubleClick موس استفاده کن. برای این منظور، کنترل گرید رو انتخاب کن، از پنل یا پنجره Properties که در سمت راست وجود داره، روی icon (آیکن) Events (رویدادها) کلیک کن که البته آیکنش به شکل یک جرقه زرد رنگ هست. بعدش روی MouseDoubleClick دوبار کلیک کن و کدهائی که میخواستی برای رویداد DoubleClick بنویسی رو وارد کن.

karimi84
چهارشنبه 15 آذر 1385, 14:05 عصر
مرسی از توجهتان
ولی من مخواهم از فرم اصلی مقدار فیلد id
گرید usercontrol را به دست بیاورم

PC2st
چهارشنبه 15 آذر 1385, 17:38 عصر
با فرض اینکه فیلد id، سومین فیلد (ایندکس 2) موجود در جدول باشد. برای بدست آوردن فیلد id از دهمین رکورد (رکورد میتواند اطلاعات یک مشتری باشد) بصورت زیر عمل می‌کنیم:

usercontrol.Rows[9].Cells[2].Value
و برای دسترسی به فیلد id و انجام تغییرات:


usercontrol.Columns["id"]

karimi84
پنج شنبه 16 آذر 1385, 09:22 صبح
من چطور از برنامه خودم بفهم یا از طریق کدام رویداد کنترل بفهمم که گرید موجود در ان الان کلیک شده که با توجه به مقدار id ان فرمی که در ان user control قرار دارد update شود
یعنی میخواهم به محض اینکه کاربر بروی گرید usr control کلیک کرد فرم اصلیم update بشه

PC2st
جمعه 17 آذر 1385, 00:13 صبح
برای اینکه بفهمی که گرید موجود در فرم، کلیک شده یا نه، از رویداد Click استفاده کن.

1. اگر منظورت از مقدار id یه متن درون TextBox هست، و میخوای که مقدارش با کلیک کردن روی گرید آپدیت بشه (البته اگر منظورت از گرید همان DataGridView باشه) باید بصورت زیر، کدها رو درون رویداد Click قرار بدی:

id.Text = usercontrol.Rows[9].Cells[2].Value.ToString();

که کد فوق همون رکورد دهم و فیلد ایندکس 3 (یا همون فیلد id) رو درون متن id میریزه.

2. اگر منظورت اینه که با تغییر مقدار کنترل id (که یک TextBox باشه)، بخوای کاری کنی که مقدار یک فیلد از یک رکورد درون گرید DataGridView با مقدار متن id عوض بشه، باید در رویداد TextChanged از کنترل id کد زیر رو بنویسی:

usercontrol.Rows[9].Cells[2].Value = id.Text;

که کد فوق، متن درون id رو داخل فیلد 3 از رکورد دهم میریزه.

ببخشید ولی فکر کنم (مطمئنم) منظورت رو هنوز خوب نفهمیدم.

karimi84
شنبه 18 آذر 1385, 16:54 عصر
با تشکر از توجهتان

ehsan.rezai63
دوشنبه 31 فروردین 1388, 20:21 عصر
سلام
لطفاً یکی به من بگه چطور می تونم به usercontrol آیکون بدم. یعنی موقعی که اونو به toolBox اضافه می کنم یه آکون سفارشی داشته باشه