powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос про CheckedListBox и DataSource
1 сообщений из 1, страница 1 из 1
Вопрос про CheckedListBox и DataSource
    #32099783
antonz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хочу использовать для заполнения CheckedListBox свойство DataSource.
Но в таком случае у меня не получается проставить соответствующие флажки.
Вопрос: как проставить флажки.

Коротко это выглядит так, а полный код в конце
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ArrayList USStates = new ArrayList()   ;
         USStates.Add(new USState( "Alabama" ,  "AL" ,true));
         USStates.Add(new USState( "Washington" ,  "WA" ,true))  ; 
         USStates.Add(new USState( "West Virginia" ,  "WV" ,false));
         USStates.Add(new USState( "Wisconsin" ,  "WI" ,false)) ;
         USStates.Add(new USState( "Wyoming" ,  "WY" ,false));

         ListBox1.SelectedValueChanged += new EventHandler(ListBox1_SelectedValueChanged);
         ListBox1.DataSource = USStates;
         ListBox1.DisplayMember =  "LongName" ;
         ListBox1.ValueMember =  "ShortName" ;



Может кто даст ссылку на эту тему..

Спасибо!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
using System;
using System.Collections;
using System.Windows.Forms;
using System.Drawing;

namespace MyListBox{
	class FileOutlook{
		string extention;
		string description;
		bool enable;
		
		public FileOutlook(string extention, string description, bool enable){
			this.extention = extention;
			this.description = description;
			this.enable = enable;
		}
		public string Extention{
			get{return(extention);}
			set{extention = value;}
		}
		public string Description{
			get{return(description);}
			set{description = value;}
		}
		public bool Enable{
			get{return(enable);}
			set{enable = value;}
		}
	}

	class FORow {
		ArrayList row;

		public FORow(){
			row = new ArrayList( 40 );
		}

		public ArrayList GetArrayList(){return row;}

		public void Load(){
			row.Add(new FileOutlook(  "ade" ,  "Microsoft Access project extension" ,false));
			row.Add(new FileOutlook(  "adp" ,  "Microsoft Access project" ,false));
			row.Add(new FileOutlook(  "bas" ,  "Microsoft Visual Basic class module" ,false));
			row.Add(new FileOutlook(  "bat" ,  "Batch file" ,false));
			row.Add(new FileOutlook(  "chm" ,  "Compiled HTML Help file" ,true));
			row.Add(new FileOutlook(  "cmd" ,  "Microsoft Windows NT Command Script" ,false));
			row.Add(new FileOutlook(  "com" ,  "Microsoft MS-DOS program" ,false));
			row.Add(new FileOutlook(  "cpl" ,  "Control Panel extension" ,false));
			row.Add(new FileOutlook(  "crt" ,  "Security certificate" ,true));
			row.Add(new FileOutlook(  "exe" ,  "Program" ,false));
			row.Add(new FileOutlook(  "hlp" ,  "Help file" ,false));
			row.Add(new FileOutlook(  "hta" ,  "HTML program" ,false));
			row.Add(new FileOutlook(  "inf" ,  "Setup  Information" ,false));
			row.Add(new FileOutlook(  "ins" ,  "Internet Naming Service" ,false));
			row.Add(new FileOutlook(  "isp" ,  "Internet Communication settings" ,true));
			row.Add(new FileOutlook(  "js" ,  "JScript file" ,false));
			row.Add(new FileOutlook(  "jse" ,  "Jscript Encoded Script file" ,false));
			row.Add(new FileOutlook(  "lnk" ,  "Shortcut" ,false));
			row.Add(new FileOutlook(  "mda" ,  "Microsoft Access add-in program" ,false));
			row.Add(new FileOutlook(  "mdb" ,  "Microsoft Access program" ,false));
			row.Add(new FileOutlook(  "mde" ,  "Microsoft Access MDE database" ,true));
			row.Add(new FileOutlook(  "mdz" ,  "Microsoft Access wizard program" ,false));
			row.Add(new FileOutlook(  "msc" ,  "Microsoft Common Console Document" ,false));
			row.Add(new FileOutlook(  "msi" ,  "Microsoft Windows Installer package" ,false));
			row.Add(new FileOutlook(  "msp" ,  "Windows Installer patch" ,false));
			row.Add(new FileOutlook(  "mst" ,  "Visual Test source files" ,false));
			row.Add(new FileOutlook(  "pcd" ,  "Photo CD image or Microsoft Visual Test compiled script" ,false));
			row.Add(new FileOutlook(  "pif" ,  "Shortcut to MS-DOS program" ,true));
			row.Add(new FileOutlook(  "reg" ,  "Registration entries" ,false));
			row.Add(new FileOutlook(  "scr" ,  "Screen saver" ,false));
			row.Add(new FileOutlook(  "sct" ,  "Windows Script Component" ,false));
			row.Add(new FileOutlook(  "shs" ,  "Shell Scrap Object" ,false));
			row.Add(new FileOutlook(  "url" ,  "Internet shortcut" ,false));
			row.Add(new FileOutlook(  "vb" ,  "VBScript file" ,false));
			row.Add(new FileOutlook(  "vbe" ,  "VBScript Encoded Script file" ,false));
			row.Add(new FileOutlook(  "vbs" ,  "VBScript file" ,false));
			row.Add(new FileOutlook(  "wsc" ,  "Windows Script Component" ,false));
			row.Add(new FileOutlook(  "wsf" ,  "Windows Script file" ,false));
			row.Add(new FileOutlook(  "wsh" ,  "Windows Script Host Settings file" ,false));
		}

	}

	class ExtControl : Panel{
		CheckedListBox clbExtention = new CheckedListBox();
		//FORow _frrw = new FORow();
		
		public ExtControl(string lblCategoryText, FORow frrw){
			//_frrw=frrw;
			clbExtention.CheckOnClick = true;

			//не могу программно проставить флажки
			clbExtention.DataSource=frrw.GetArrayList();
			clbExtention.DisplayMember =  "Description" ;
			clbExtention.ValueMember =  "Extention" ;

			clbExtention.Dock=DockStyle.Fill;
			clbExtention.Parent = this;
			this.Dock = DockStyle.Left;
			this.Size = new Size( 280 ,  140 );
		}

		internal void ShowChecked()
		{
			string ss= "";
			foreach(FileOutlook s1 in clbExtention.CheckedItems)ss+=s1.Extention+"  ;  ";
			MessageBox.Show(ss=="  " ? " No checked... ": ss );
			//MessageBox.Show(clb.SelectedValue.ToString());
		}

	}

	class Form1 : Form 
	{
		FORow frrw = new FORow();
		
		ExtControl ec;
		Button btn = new Button();
		
		public Form1() 
		{
			frrw.Load();
			
			ec = new ExtControl("  ",frrw);
			ec.Parent=this;

			btn.Parent=this;
			btn.ClientSize = new Size(100 , 25 );
			btn.Location=new Point( 300 , 5 );
			btn.Text = "Checked? ";
			btn.Click += new EventHandler(btnClick);
			
			ClientSize = new Size(410 , 200 );
			Text="CheckedListBox.DataSource TEST";
			this.DockPadding.All= 5 ;
		}

		private void btnClick(object sender, EventArgs ea){ec.ShowChecked();}

		public static void Main(){Application.Run(new Form1());}

	}
}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос про CheckedListBox и DataSource
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]