توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : معرفی چند کنترل در سی شارپ
shirin71
08-07-2011, 08:26 AM
در این تایپیک به معرفی و آموزش کاربا تعدادی از کنترل های سی شارپ می پردازیم.
کنترلImageList
خب اولین کنترلی که معرفی می کنم کنترل ImageList هست.
این کنترل همانند کنترل زمان سنج در زمان اجرا قابل رؤیت نیست به همین دلیل در زیرفرم ظاهر می شود.
هدف این کنترل ذخیره تصاویر و در دسترس سایر کنترل ها قرار دادن تصاویر می باشد.
بااستفاده از این کنترل ، کنترل ها می توانند از تصاویر یکسان بصورت مشترک استفاده کنند.
تصاویر یک ImageList در مجموعه Image ان کنترل ذخیره می شود.
برای اضافه نمودن تصاویر به این کنترل بر روی خاصیت Imgae کلیک کرده ودر کادر باز شده با کلیک بر روی Add تصاویر خود را اضافه نمایید.
بصورت پیش فرض سایز تصاویر را 16*16 می کند اما شما می توانید این سایز رو تغییر بدید.
قدرت این کنترل در واقع هنگامی نمایان میشه که با کنترل هایی که می توانند به تصاویر ذخیره شده دسترسی پیدا کنند همراه شود.
البته همه ی کنترل های ازImageList پشتیبانی نمی کنند.
(در کنترل بعدی نحوه ی استفاده از این کنترل رو شرح می دهم.)
shirin71
08-07-2011, 08:27 AM
کنترل ListView
از این کنترل می توان جهت ایجاد لیستهای ساده ، شبکه های نقاط چندستونی و سینی شمایل ها استفاده کرد.
قسمت سمت راست explorer یک ListView هست.
گزینه های اصلی که برای تغییرشکل ظاهری ListView در اختیار دارید عبارتنداز : Large Icon،small Icon،List، Details و title. این گزینه ها در ویژگی view این کنترل قرار دارد.
و عملکرد این گزینه ها همچون عملکرد view در اکسپلورر هست.
برای شروع یک کنترل ازListView در فرم قرار بدید.
خاصیت smallImageList را برابر کنترل ImageList ایی که قبلاً ساختید مقدار دهی کنید.
و خاصیت viewرا مثلاً برابر Deitals کنید.
ListView اجازه ی الحاق به دو ImageList رو می ده : یکی برای شمایل 32*32 پیکسلی و دیگری برای تصاویر کوچک ؛ یعنی LargeImageList وsmallImageList .
اگه خاصیت view رو برابر LargeIcon کنید تصاویر خاصیت LargeImageList رو نمایش میده وگرنه تصاویر خاصیت smallImageList .
وقتی خاصیت view رو برابر Deitals قرار می دید یک عنوان خالی در بالای این کنترل قرار می گیره . محتویات این عنوان بوسیله ستون های تعریف شده در مجموعه columns تعیین می شند.
بر روی خاصیت columns کلیک کرده و فیلدهای موردنظر خودتون رو اضافه کنید.
برای اضافه کردن عناصر به ListView از ویژگی items استفاده می کنیم.
بر روی items کلیک کرده و عناصر خودتون رو اضافه کنید و ویژگی text هر عنصر رو مقدار بدید . با استفاده از خاصیت ImageIndex تصویر موردنظرتون رو هم انتخاب می کنید.
اگر در خاصیت column بیشتر از یک ستون رو انتخاب کرده باشید در این قسمت مقدار اولین ستون در خاصیت text تعیین میشه و مقدار بقیه ستون هادر خاصیت subItem.
مدیریت ListView بااستفاده از کد:
بصورت پیش فرض خاصیت Multselect برابر true هست لذا ListView بجای ویژگی selectdItem از مجموعه selectdItems پیشتیبانی می کند.
برای کسب اطلاعات در مورد یک عنصر انتخاب شده به اندیس آن رجوع می کنیم.
مثلاً:
if (lvMyListView.SelectedItems.Count > 0)
label1.Text = lvMyListView.SelectedItems[0].Text
;
خط اول می گه اگر سطری انتخاب شده بود ودر خط دوم اولین عنصر انتخاب شده در ListView رو در لیبل1 نمایش میده.
اضافه کردن :
lvMyListView.Items.Add("Mobina alizade");
این مدل اضافه کردن فقط به ستون اول مقدار میده اما اگه شمادر حالت deitals باشید و چندتاستون تعریف کرده باشید از طریق زیر اد کردن رو انجام بدید:
ListViewItem objListView;
objListView =lvMyListView.Items.Add("Homa abasi", 2);
objListView.SubItems.Add("Mashhad");
objListView.SubItems.Add("Khorasan");
مثلا فرض کردم که در حالت Deitals هستم و سه ستون دارم یکی نام ، شهر، استان.
سطر دوم متن ستون اولم رو تعیین میکنه و شماره 2 به معنی این هست که از ImageList خاصیت smallImageList تصویر دوم رو به این رکورد اضافه کن. و در دوسطربعدی هم مقدار دو ستون بعدی معین می شند.
حذف:
lvMyListView.Items.Remove(lvMyListView.SelectedIte ms[0]);
یعنی اولین سطری که انتخاب شده رو حذف کن.
lvMyListView.Items.RemoveAt(0);
یعنی اولین سطر listview رو حذف کن.
lvMyListView.Items.Clear();
یعنی کل سطرهای listview رو حذف کن
shirin71
08-07-2011, 08:28 AM
کنترل TreeView
کنترل TreeView برای نمایش داده های سلسله مراتبی استفاده میشه. یکی از معمولی ترین کاربرد TreeView در اکسپلورر ه که می تونید از TreeView برای راهبری پوشه ها و درایوها استفاده کنید.
عناصر TreeView در مجموعه nodes قرار می گیرند.
که مشابه مجموعه items در listview هست.
برای شروع یک کنترل TreeView در فرم قرار بدید.
treeView1.Nodes.Add("vb.net");
treeView1.Nodes.Add("C#");
کد بالا دو نود به TreeView شما اضافه می کنه با متن های vb.net و c#
اگر بخواید نود شما فرزند داشته باشه بصورت زیر عمل کنید:
TreeNode objNode;
objNode = treeView1.Nodes.Add("Mobina");
objNode.Nodes.Add("C#");
در اینجا یک نود با متن مبینا ایجاد میشه که نودی به عنوان فرزند با متن C# داره.
یا می تونید این کد رو به این صورت بنویسید:
treeView2.Nodes[0].Nodes.Add("Homa");
یعنی به نود با اندیس صفر نود فرزندی با متن هما رو اضافه کن.
if (!(treeView1.SelectedNode==null ))
treeView1 .Nodes .Remove (treeView1 .SelectedNode );
یعنی اگه نودی انتخاب شده بود اون نود رو حذف کن.
treeView1.Nodes.Clear();
کلیه ی نودهای درخت رو حذف کن.
برای اینکه با کلیک بر روی نودی از درخت نود انتخاب شده را در یک لیبل مشاهده کنید در رویداد کلیک تری ویو کد زیر را وارد کنید:
if (!(treeView2.SelectedNode == null))
label1.Text = treeView2.SelectedNode.ToString();
ارتباط TreeView به بانک اطلاعاتی:
در برنامه ی زیر به تعداد رکوردهای موجود در جدول نود پدر به درخت اضافه میشود سپس فیلدهای هر رکورد بعنوان فرزند به نود مربوط به آن اضافه می گردد.
treeView2 .Nodes .Clear ();
SqlConnection connection1 = new SqlConnection("server=(local);database=EngStu;user=sa;password=sa");
SqlCommand command1 = new SqlCommand("select * from profile");
command1.Connection = connection1;
command1.Connection.Open();
SqlDataReader reader1 = command1.ExecuteReader();
for (int num1 = 0; reader1.Read(); num1++)
{
treeView2.Nodes.Add(reader1[0].ToString());
int num3 = reader1.FieldCount - 1;
for (int num2 = 0; num2 <= num3; num2++)
{
treeView2.Nodes[num1].Nodes.Add(reader1[num2].ToString());
}
}
vBulletin v4.2.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.