public ListBoxSample() { // Default list box ListBox list = new ListBox(); for (int n = 0; n < 100; n++) list.Items.Add("Value " + n); list.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { int r = list.SelectedRow + 1; list.Items.Insert(r, "Value " + list.Items.Count + 1); list.ScrollToRow(r); list.SelectRow(r); list.FocusedRow = r; } }; PackStart(list, true); // Custom list box ListBox customList = new ListBox(); customList.GridLinesVisible = true; ListStore store = new ListStore(name, icon); customList.DataSource = store; customList.Views.Add(new ImageCellView(icon)); customList.Views.Add(new TextCellView(name)); var png = Image.FromResource(typeof(Application), "class.png"); for (int n = 0; n < 100; n++) { var r = store.AddRow(); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + n); } customList.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { var r = store.InsertRowAfter(customList.SelectedRow < 0 ? 0 : customList.SelectedRow); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + (store.RowCount + 1)); customList.ScrollToRow(r); customList.SelectRow(r); customList.FocusedRow = r; } }; PackStart(customList, true); var spnValue = new SpinButton(); spnValue.MinimumValue = 0; spnValue.MaximumValue = 99; spnValue.IncrementValue = 1; spnValue.Digits = 0; var btnScroll = new Button("Go!"); btnScroll.Clicked += (sender, e) => customList.ScrollToRow((int)spnValue.Value); HBox scrollActBox = new HBox(); scrollActBox.PackStart(new Label("Scroll to Value: ")); scrollActBox.PackStart(spnValue); scrollActBox.PackStart(btnScroll); PackStart(scrollActBox); }
public ListView1 () { PackStart (new Label ("The listview should have a red background")); ListView list = new ListView (); list.BackgroundColor = Colors.Red; list.GridLinesVisible = GridLines.Both; ListStore store = new ListStore (name, icon, text, icon2, progress); list.DataSource = store; list.Columns.Add ("Name", icon, name); list.Columns.Add ("Text", icon2, text); list.Columns.Add ("Progress", new TextCellView () { TextField = text }, new CustomCell () { ValueField = progress }); var png = Image.FromResource (typeof(App), "class.png"); Random rand = new Random (); for (int n=0; n<100; n++) { var r = store.AddRow (); store.SetValue (r, icon, png); store.SetValue (r, name, "Value " + n); store.SetValue (r, icon2, png); store.SetValue (r, text, "Text " + n); store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 }); } PackStart (list, true); list.RowActivated += delegate(object sender, ListViewRowEventArgs e) { MessageDialog.ShowMessage ("Row " + e.RowIndex + " activated"); }; Menu contextMenu = new Menu (); contextMenu.Items.Add (new MenuItem ("Test menu")); list.ButtonPressed += delegate(object sender, ButtonEventArgs e) { int row = list.GetRowAtPosition(new Point(e.X, e.Y)); if (e.Button == PointerButton.Right && row >= 0) { // Set actual row to selected list.SelectRow(row); contextMenu.Popup(list, e.X, e.Y); } }; list.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow); store.SetValue (r, icon, png); store.SetValue (r, name, "Value " + (store.RowCount + 1)); store.SetValue (r, icon2, png); store.SetValue (r, text, "New Text " + (store.RowCount + 1)); store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 }); list.ScrollToRow (r); list.SelectRow (r); list.FocusedRow = r; } }; HBox btnBox = new HBox (); Button btnAddItem = new Button ("Add item"); btnAddItem.Clicked += delegate { var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow); store.SetValue (r, icon, png); store.SetValue (r, name, "Value " + (store.RowCount + 1)); store.SetValue (r, icon2, png); store.SetValue (r, text, "New Text " + (store.RowCount + 1)); store.SetValue (r, progress, new CellData { Value = rand.Next () % 100 }); list.ScrollToRow (r); list.SelectRow (r); }; btnBox.PackStart (btnAddItem, true); Button btnRemoveItem = new Button ("Remove item"); btnRemoveItem.Clicked += delegate { if (list.SelectedRow >= 0) store.RemoveRow(list.SelectedRow); }; btnBox.PackStart (btnRemoveItem, true); PackStart (btnBox); var but = new Button ("Scroll one line"); but.Clicked += delegate { list.VerticalScrollControl.Value += list.VerticalScrollControl.StepIncrement; }; PackStart (but); var spnValue = new SpinButton (); spnValue.MinimumValue = 0; spnValue.MaximumValue = 99; spnValue.IncrementValue = 1; spnValue.Digits = 0; var btnScroll = new Button ("Go!"); btnScroll.Clicked += (sender, e) => list.ScrollToRow((int)spnValue.Value); HBox scrollActBox = new HBox (); scrollActBox.PackStart (new Label("Scroll to Value: ")); scrollActBox.PackStart (spnValue); scrollActBox.PackStart (btnScroll); PackStart (scrollActBox); }
public ListView1() { PackStart(new Label("The listview should have a red background")); ListView list = new ListView(); list.BackgroundColor = Colors.Red; list.GridLinesVisible = GridLines.Both; ListStore store = new ListStore(name, icon, text, icon2, progress); list.DataSource = store; list.Columns.Add("Name", icon, name); list.Columns.Add("Text", icon2, text); list.Columns.Add("Progress", new TextCellView() { TextField = text }, new CustomCell() { ValueField = progress }); var png = Image.FromResource(typeof(App), "class.png"); Random rand = new Random(); for (int n = 0; n < 100; n++) { var r = store.AddRow(); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + n); store.SetValue(r, icon2, png); store.SetValue(r, text, "Text " + n); store.SetValue(r, progress, new CellData { Value = rand.Next() % 100 }); } PackStart(list, true); list.RowActivated += delegate(object sender, ListViewRowEventArgs e) { MessageDialog.ShowMessage("Row " + e.RowIndex + " activated"); }; Menu contextMenu = new Menu(); contextMenu.Items.Add(new MenuItem("Test menu")); list.ButtonPressed += delegate(object sender, ButtonEventArgs e) { int row = list.GetRowAtPosition(new Point(e.X, e.Y)); if (e.Button == PointerButton.Right && row >= 0) { // Set actual row to selected list.SelectRow(row); contextMenu.Popup(list, e.X, e.Y); } }; list.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + (store.RowCount + 1)); store.SetValue(r, icon2, png); store.SetValue(r, text, "New Text " + (store.RowCount + 1)); store.SetValue(r, progress, new CellData { Value = rand.Next() % 100 }); list.ScrollToRow(r); list.SelectRow(r); list.FocusedRow = r; } }; HBox btnBox = new HBox(); Button btnAddItem = new Button("Add item"); btnAddItem.Clicked += delegate { var r = store.InsertRowAfter(list.SelectedRow < 0 ? 0 : list.SelectedRow); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + (store.RowCount + 1)); store.SetValue(r, icon2, png); store.SetValue(r, text, "New Text " + (store.RowCount + 1)); store.SetValue(r, progress, new CellData { Value = rand.Next() % 100 }); list.ScrollToRow(r); list.SelectRow(r); }; btnBox.PackStart(btnAddItem, true); Button btnRemoveItem = new Button("Remove item"); btnRemoveItem.Clicked += delegate { if (list.SelectedRow >= 0) { store.RemoveRow(list.SelectedRow); } }; btnBox.PackStart(btnRemoveItem, true); PackStart(btnBox); var but = new Button("Scroll one line"); but.Clicked += delegate { list.VerticalScrollControl.Value += list.VerticalScrollControl.StepIncrement; }; PackStart(but); var spnValue = new SpinButton(); spnValue.MinimumValue = 0; spnValue.MaximumValue = 99; spnValue.IncrementValue = 1; spnValue.Digits = 0; var btnScroll = new Button("Go!"); btnScroll.Clicked += (sender, e) => list.ScrollToRow((int)spnValue.Value); HBox scrollActBox = new HBox(); scrollActBox.PackStart(new Label("Scroll to Value: ")); scrollActBox.PackStart(spnValue); scrollActBox.PackStart(btnScroll); PackStart(scrollActBox); }
public ListBoxSample() { // Default list box ListBox list = new ListBox(); for (int n = 0; n < 100; n++) { list.Items.Add("Value " + n); } list.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { int r = list.SelectedRow + 1; list.Items.Insert(r, "Value " + list.Items.Count + 1); list.ScrollToRow(r); list.SelectRow(r); list.FocusedRow = r; } }; PackStart(list, true); // Custom list box ListBox customList = new ListBox(); customList.GridLinesVisible = true; ListStore store = new ListStore(name, icon); customList.DataSource = store; customList.Views.Add(new ImageCellView(icon)); customList.Views.Add(new TextCellView(name)); var png = Image.FromResource(typeof(App), "class.png"); for (int n = 0; n < 100; n++) { var r = store.AddRow(); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + n); } customList.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { var r = store.InsertRowAfter(customList.SelectedRow < 0 ? 0 : customList.SelectedRow); store.SetValue(r, icon, png); store.SetValue(r, name, "Value " + (store.RowCount + 1)); customList.ScrollToRow(r); customList.SelectRow(r); customList.FocusedRow = r; } }; PackStart(customList, true); var spnValue = new SpinButton(); spnValue.MinimumValue = 0; spnValue.MaximumValue = 99; spnValue.IncrementValue = 1; spnValue.Digits = 0; var btnScroll = new Button("Go!"); btnScroll.Clicked += (sender, e) => customList.ScrollToRow((int)spnValue.Value); HBox scrollActBox = new HBox(); scrollActBox.PackStart(new Label("Scroll to Value: ")); scrollActBox.PackStart(spnValue); scrollActBox.PackStart(btnScroll); PackStart(scrollActBox); }