PDA

View Full Version : :::: وراثت :::: ارث بری از فرم و مشکل با دیتاگریدdatagrideview در c#



maddahi.m.p
پنج شنبه 31 تیر 1389, 09:43 صبح
با سلام خدمت دوستان عزیز
من در یک پروژه c# از یک فرم base ارث بری کرده ام و خاصیت اشیا روی آن را با public تغییر داده ام
اما به خصوصیات و رویداد های تمام اشیا در فرم ارث برده شده می توانم دسترسی داشته باشم
غیر از datagrideview دیتا گرید که ویرایش نمیشود..
ممنون از راهنمایی و لطف دوستان

اَرژنگ
پنج شنبه 31 تیر 1389, 13:04 عصر
با سلام خدمت دوستان عزیز
من در یک پروژه C#‎ از یک فرم base ارث بری کرده ام و خاصیت اشیا روی آن را با public تغییر داده ام
اما به خصوصیات و رویداد های تمام اشیا در فرم ارث برده شده می توانم دسترسی داشته باشم
غیر از datagrideview دیتا گرید که ویرایش نمیشود..
ممنون از راهنمایی و لطف دوستان
ببخشید، ولی با سالها تجربه من به این موضوع که این نوع ارث بری چه مشکلی را برطرف میکند برخورد نکردم. اگر این روش را از جایه معتبری گرفتید یک منبع به ما هم لطف کنید.
اگر هم که نه ، مشکل اصلی چیه که به این روش متوصل شدید؟
تا جایی که برخورد داشتم این روشهایه ارث بری از فرمها بیشتر مشکل ایجاد کردند تا حل، ولی شاید هنوز دلیل موجهی برایه اینکه مشکل شما به این روش حل بشد باشد بیزحمت بفرمائید.

maddahi.m.p
پنج شنبه 31 تیر 1389, 17:35 عصر
البته من هم بعد از چندین سال برای اولین بار می خواهم از این روش استفاده کنم
قابلیت انعطاف پذیری خیلی بیستر هستش - تغییرات به راحتی در تمام فرم ها اعمال می شود
کد نویسی تاحد بسیار زیادی کمتر میشود و همه از یک یا چند base form ارث می برند و ...
چند پروژه بزرگ دیده ام که با این روش به خوبی پیاده سازی شده ...

ضمنا به خاصیت های دیتا گرید در فرم های ارث بری شده چگونه می شود دسترسی داشت؟ public هم تعریف شده)

اَرژنگ
جمعه 01 مرداد 1389, 08:34 صبح
البته من هم بعد از چندین سال برای اولین بار می خواهم از این روش استفاده کنم
قابلیت انعطاف پذیری خیلی بیستر هستش - تغییرات به راحتی در تمام فرم ها اعمال می شود
کد نویسی تاحد بسیار زیادی کمتر میشود و همه از یک یا چند base form ارث می برند و ...
چند پروژه بزرگ دیده ام که با این روش به خوبی پیاده سازی شده ...

ضمنا به خاصیت های دیتا گرید در فرم های ارث بری شده چگونه می شود دسترسی داشت؟ public هم تعریف شده)

نمیشه ضمیمه کرد! از رپید شیر بگیریدش:
(هر کدام از این لینکها برایه ۱۰ بار دانلود بکار میان)
http://rapidshare.com/files/408520773/FormInheritence.zip

http://rapidshare.com/files/408520978/FormInheritence.zip
MD5: 44136F1385047910AF95C417E2E89FBC

http://rapidshare.com/files/408521045/FormInheritence.zip
MD5: 44136F1385047910AF95C417E2E89FBC

http://rapidshare.com/files/408521092/FormInheritence.zip
MD5: 44136F1385047910AF95C417E2E89FBC


۱ روش راحت که کارتان را راه بندازه ضمیمه شده.یک خاصیت رنگ داتاگرید را در فرمی که ارث برده عوض میکنه.

احتیاجی به پابلیک کردن داتاگریدویو نبود، پروتکتد روش درست است.

پروژه‌هایه بزرگی که دیدید به این روش پیاده شدند، از چه لحاظ از این حالت ارث بری فایده بردند؟ در ضمن بزرگ بودن یک پروژه دلیل بر درست بودن روشهایه استفاده شده نیست، تعداد برنامه نویسهایی که از متغییرهایه استاتیک استفاده میکنند و رویه پروژه‌هایی که اسماً بزرگ هستند کار میکنند کم نیست ! :لبخند:

maddahi.m.p
جمعه 22 مرداد 1389, 16:42 عصر
با تشکر از جناب اَرژنگ عزیز :

من می خواهم کاربر هنگامی که وارد یک سلول از دیتاگرید شد یک فرم یا پنل در زیر سلول نمایش داده شود .. ؟؟؟؟ (منظور اینکه به عنوان یک لیست باکس سفارشی می خواهم باز شود..)

ممنون اگه این سوال منو جواب بدین

C Sharp
شنبه 23 مرداد 1389, 10:22 صبح
منم تو پروژه ام مثل شما یک فرم base دارم که اتفاقا گرید هم داره ، ولی من public نکردم ، تو Designer نمیشه تغییری تو گرید ارث بری شده داد ، ولی تو کد ، در صورتی که Modifier گرید حداقل Protected تعریف شده باشه میشه به تمام خصوصیات گرید دسترسی داشت

این کد هم واسه نمایش منو زیر سلول



int rowIndex = dataGridView1.CurrentCell.RowIndex;
int columnIndex = dataGridView1.CurrentCell.ColumnIndex;
Rectangle rect = dataGridView1.GetCellDisplayRectangle(columnIndex, rowIndex,true);
Rectangle rect2 = dataGridView1.RectangleToScreen(Screen.PrimaryScre en.WorkingArea);
int x = rect.Left + rect2.Left;
int y = rect.Bottom + rect2.Top;
contextMenuStrip.Show(x, y);

maddahi.m.p
شنبه 23 مرداد 1389, 23:57 عصر
http://www.free-picture-host.com/images/g5FGGo1281765358.jpg

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

maddahi.m.p
شنبه 13 شهریور 1389, 02:33 صبح
مشخصات x,y هر سلول فرم چطور بدست می آید برای نمایش فرم در زیر آن ؟؟؟

C Sharp
شنبه 13 شهریور 1389, 08:18 صبح
مشخصات x,y هر سلول فرم چطور بدست می آید برای نمایش فرم در زیر آن ؟؟؟

سوالتون رو درست متوجه نشدم !
ولی فکر میکنم پست قبلیم جواب همین سوالتون بوده باشه