首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在关闭窗体时保存列表框的值(多选)?

在关闭窗体时保存列表框的值(多选),你可以使用以下步骤:

  1. 获取列表框的所有选定项。
  2. 将选定项的值保存到一个变量或数据结构中(如数组、列表或字典)。
  3. 在关闭窗体之前,将保存的数据写入文件或数据库,以便下次打开窗体时可以重新加载这些值。

以下是一个使用C#和Windows Forms的示例:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;

public partial class MainForm : Form
{
    private List<string> selectedItems = new List<string>();

    public MainForm()
    {
        InitializeComponent();
    }

    private void MainForm_Load(object sender, EventArgs e)
    {
        LoadSavedItems();
    }

    private void buttonSaveAndClose_Click(object sender, EventArgs e)
    {
        SaveSelectedItems();
        this.Close();
    }

    private void LoadSavedItems()
    {
        // 从文件或数据库加载保存的项
        string savedItems = File.ReadAllText("savedItems.txt");
        selectedItems = new List<string>(savedItems.Split(','));
        UpdateListBox();
    }

    private void SaveSelectedItems()
    {
        // 将选定的项保存到文件或数据库
        string itemsToSave = string.Join(",", selectedItems);
        File.WriteAllText("savedItems.txt", itemsToSave);
    }

    private void UpdateListBox()
    {
        listBox.Items.Clear();
        listBox.Items.AddRange(selectedItems.ToArray());
    }

    private void listBox_SelectedIndexChanged(object sender, EventArgs e)
    {
        selectedItems.Clear();
        foreach (var item in listBox.SelectedItems)
        {
            selectedItems.Add(item.ToString());
        }
    }
}

在这个示例中,我们在窗体加载时从文件中加载保存的选定项,并在关闭窗体之前将选定的项保存到文件中。同时,我们更新列表框以显示选定的项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#学习笔记—— 常用控件说明及其属性、事件

必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示窗体通常用做应用程序中对话框。...可以认ComboBox就是文本框与列表框组合,与文本框和列表框功能基本一致。与列表框相比,组合框不能多选,它无 SelectionMode 属性。...为 true ,是默认菜单项,为 false,不是默认菜单项。菜单默认菜单项以粗体形式显示。当用户双击包含默认项子菜单后,默认项被选定,然后子菜单关闭。...子窗口本身不能再成为父窗口,而且不能移动到它们父窗口区域之外。除此以外,子窗口行为与任何其他窗口一样(可以关闭、最小化和调整大小等)。...常用 MDI 父窗体事MdiChildActivate,当激活或关闭一个 MDI子窗体将发生该事件。 3.菜单合并 父窗体和子窗体可以使用不同菜单,这些菜单会在选择子窗体时候合并。

9.7K20

手机APP测试(测试点、测试流程、功能测试)

分别选择了“男”“女”后,保存到数据库数据应该相应分别为“男”“女”;   c,一组执行同一功能单选按钮在初始状态必须有一个被默认选中,不能同时为空; 5. up-down控件文本框测试   ...,“插入”数目为默认,点击“确定”;或,删除默认,使内容为空,单击“确定”进行测试;   e,输入字符。此时系统应提示输入有误。...同组合列表框类似,根据需求说明书确定列表各项内容正确,没有丢失或错误;   b,列表框内容较多时要使用滚动条;   c,列表框允许多选,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况...(APP开启后,自动更新APP,否则无法使用APP),多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;点击更新是否正确跳转至后台配置更新页面 逆向:非强制更新(只提示一次更新):可以正常关闭弹窗...逆向:允许内网访问APP,在连接到外网是否有友好提示 6、用户体验测试 整体产品或服务舒适度 7、安全测试 敏感信息是否加密,用抓包工具分析 密码是否过于检查检查 重要数据,支付密码会不会保存到设备

7.9K43
  • 【愚公系列】2023年11月 Winform控件专题 CheckedListBox控件详解

    一、CheckedListBox控件详解CheckedListBox控件是Windows Forms中一种常用控件,它用于显示一个多选列表框,可以让用户选择多个项。...使用CheckedListBox控件可以将一组相关选项呈现给用户,用户可以在其中选择任意数量选项。适用于需要用户对一组选项进行多选场景。...其中,CheckOnClick属性是控制当用户单击列表框是否自动选中该项一个属性。当CheckOnClick属性设置为true,单击项,该项选中状态会自动切换。...当CheckOnClick属性设置为false,单击项,该项并不会自动选中或取消选中。相反,单击项只会更改列表框焦点,这样用户可以使用键盘上箭头键来更改选定项。...在运行应用程序时,这些项目将出现在窗体上,每个项目都有一个相应复选框。现在,我们需要为CheckBoxList控件添加一些事件处理程序,以便在用户选择某个项获取通知。

    1.1K11

    Python 窗体(tkinter)下拉列表框(Combobox)实例

    win=tkinter.Tk() #构造窗体 comvalue=tkinter.StringVar()#窗体自带文本,新建一个 comboxlist=ttk.Combobox(win,textvariable...可读状态,state= “readonly” textvariable 设置textvariable属性 一些常用函数: 函数 描述 get 返回制定索引listbox.get(1);...返回多个项,返回元组,listbox.get(0,2);返回当前选中项索引listbox.curselection() values 设定下拉列表内容。... data = [“a”,”b”,”c”], cbx[“values”] = data current(i) 指定下拉列表生成显示在列表,i = index。...current(2),显示列表中第三个 事件: 下拉列表没有command函数(方法)。 下拉列表虚拟事件是 “<<ComboboxSelected “。 4.

    11.3K40

    VCL 控件分类_验证控件分类

    ) ShowModal(),Show(); (是否当前窗体关闭后才能操作父窗体:模态方式,非模态方式) Close(); (关闭窗体) (在Event 选项卡中) OnCreate(); 创建窗体是发生事件...OnShow(); 窗体显示发生事件 OnActive(); 窗体变为活动窗体发生事件 OnPaint(); 窗体重画或变化时事件 OnHide(); 窗体隐藏时事件 OnClose(); 窗体关闭时事件...可以用来做悬浮控件(该事件中将控件Top属性设为一确定)。 Anchors:可视控件边界,在窗体大小变化时设置控件与窗体某边距离不变。...Columns:列表所显示栏数 MultiSelect:是否支持多选 Sorted:是否按字母顺序进行排序 ItemIndex:列表中被选中选项序号。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    4.3K10

    Python-Tkinter图形化界面设计(详细教程 )

    在实例化控件,实例属性可以“属性=属性形式枚举列出,不区分先后次序。...与 组合框 3.5.1 列表框 返回目录 (Listbox) 可供用户单选或多选所列条目以形成人机交互。...列表框控件主要方法见下面的表: ? 执行自定义函数,通常使用“实例名.surselection()” 或 “selected” 来获取选中项位置索引。...用Toplevel 所创建窗体是非模式(Modeless)窗体,虽然初建窗体在最前面,但根窗体控件实例也是可以被操作。...3.9 模式对话框(Modal) 返回目录 是相对于前面介绍非模式窗体而言,所弹出对话框必须应答,在关闭之前无法操作其后面的其他窗体

    14.2K40

    零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

    将其置于主循环中,除非用户关闭,否则程序始终处于运行状态。 执行该程序,一个窗体就呈现出来了。 在这个主循环窗体中,可持续呈现中其他可视化控件实例,监测事件发生并执行相应处理程序。...为颜色或为颜色代码,:'red','#ff0000' 7 highlightcolor 文本框高亮边框颜色,当文本框获取焦点显示 8 justify 显示多行文本时候,设置不同行之间对齐方式,...与 组合框: 列表框:(Listbox) 可供用户单选或多选所列条目以形成人机交互。...用Toplevel 所创建窗体是非模式(Modeless)窗体,虽然初建窗体在最前面,但根窗体控件实例也是可以被操作。...6.10、模式对话框(Modal): 是相对于前面介绍非模式窗体而言,所弹出对话框必须应答,在关闭之前无法操作其后面的其他窗体

    14.2K30

    1-3 Winform 中常用控件(3

    8.案例学习:使用组合框控件 本次实验目标是在FORM窗体上建立一个列表框控件,两个组合框控件以及一个文本框控件,通过这些控件彼此之间关联,学习并掌握ComboBox组合框控件主要属性和方法。...当选择上面组合框中具体工作部门,选中信息将分别呈现在文本框,列表框和下面的列表框之中。...,经常会遇到与计算机会话机制,报错或者某种信息反馈等。...,"问询提示",MessageBoxButtons.YesNo); //  1、DialogResult属性用于获取或设置MessageBox.Show()方法返回一个,该在单击按钮返回到父窗体...showDialog()是模式窗体,与show方法主要区别在于以showDialog()打开窗体,要等当前窗体关闭后才能操作其他窗体,而show()方法则不受此限制。

    2.4K10

    VBA专题05-1:一文彻底掌握用户窗体编程基础知识(上)

    本文包含以下内容: 1.基本用户窗体操作 2.用户窗体和控件属性 3.用户窗体生命周期 4.用户窗体和控件事件 5.问题1:如何在用户窗体间传递数据?...用户窗体和控件属性 用户窗体和控件都有属性(尺寸、位置,等等),在设置用户窗体能够改变这些属性,并且也能够在运行时通过代码来改变它们中大多数属性。...在设置用户窗体所选择是缺省,而在运行时所作变化仅当用户窗体被装载时有效。 两个最重要属性是Name属性和Value属性: 1.Name属性可用于指定某个控件。...用户已经输入任何数值都将丢失,控件将恢复为属性窗口中输入缺省。如果想保存它们,则需要在卸载用户窗体前进行保存。 模式和无模式 用户窗体可在两种“模式”之间显示,即模式或者无模式。...例如,能够从电子表格中更新最新数据到文本框中、改变文本框缺省为当天日期,等等。 请求关闭和中止 结束用户窗体事件有两个:请求关闭(QueryClose)和中止(Terminate)。

    6.4K20

    CListBox

    列表框显示项列表,如用户可以见到和选择文件名称。在单选列表框里,用户只可选择一个项。在多选列表框里,可选择许多项。当用户选择某项,其高亮显示且列表框给父窗口发送一个通知消息。   ...如果在对话框中构造一个CListBox对象(通过对话资源),当用户关闭对话框,CListBox对象自动毁弃。   如果在窗口中构造一个CListBox对象,可能需要毁弃CListBox对象。...如果使用new函数在堆上创建CListBox对象,必须对此对象调用delete来在用户关闭父窗口毁弃它。 如果在CListBox对象中分配内存,可覆盖CListBox析构程序释放分配内存。...返回指向列表框指针  SetItemData 设置列表框有关32位  SetItemDataPtr 设置指向列表框指针  GetItemRect 返回当前显示列表框相应矩形  ItemFromPoint... SetSel 在多选列表框中选择或不选某个列表框项  GetCaretIndex 确定在多选列表框中有焦点矩形索引  SetCaretIndex 设置焦点矩形到多选列表框指定索引项

    1.3K80

    1-3 Winform 中常用控件(

    1-3 Winform 中常用控件 u 本节学习目标: n System.Windows.Forms.Control基本结构 n 使用基本控件标签、文本、按钮、列表框和组合框 n 掌握窗体常用属性和方法...不论是Application.Exit(),还是Form.Close()都可以起到关闭当前窗体作用,但是需要初学者了解这两种方法差异性。...案例学习:标签控件隐藏,窗口打开与关闭 本次实验目标是建立两个窗体,当点击图1-11登录系统时候,可以打开另一个窗体,在点击文字打开后显示学校名称,点击文字隐藏时候隐藏学校名称。...通过本案例使读者快速掌握窗体打开和关闭技巧,以及标签隐藏方法。 ?...图1-11 窗口打开与关闭窗体目标界面 u 实验步骤(1): 由图1-11所示,从工具箱之中拖拽标签控件和linkLabel超链接文本控件到Form窗体上,更改标签文本颜色、字体和大小属性,填写每个控件

    2.8K10

    VB语言基础重要知识点12

    一、有关考试几个问题 首先,提问:考试最重要是什么? 答案其实很简单:得分!!!!! 想要得分,就要做到基本保存保存哪些文件呢?...1.窗体代码文件frm扩展名文件 2.工程文件vbp扩展名 3.应用程序文件exe扩展名 如何查看文件扩展名?...如果为false那么是不能运行。 二、基本复习知识点 form窗体初始化加载事件:Form_Load 如何通过代码设置label标签字体?...listbox所在控件列表位置 在listbox中,加入内容是一项一项,我们可以将列表框内容单独取出或者加入。 提问:如何在录入属性时候连续录入呢?...ListIndex代表当前listbox中被选中这一行索引。 当listindex为-1代表listbox中项目没有被选中。 所以,我们可以通过这个判断进行友情提示,防止报错!

    1.4K50

    Excel事件(一)基础知识

    在某种条件触发开关,导致后续动作结果,比如灯亮起或关闭,电热水器开始或停止加热,空调定时打开或关闭等等。 “Excel事件”在VBA程序中也担当了开关角色。...4、图表事件 图表事件是针对某个特殊图表产生如select(选中图表中某个对象)和srieschange(改变了系列中某个数据点). 5、不与对象关联事件 这类对象只有两个,就是之前介绍过...工作簿事件代码必须在Thisworkbook对象代码模块中编写,工作表事件代码必须在对应工作表代码模块中编写,而窗体窗体控件事件代码必须编写在响应用户窗体代码模块中。...在代码窗口左上对象下拉列表框中选择workbook对象,右上下拉列表框可以选择workbook对象对应所有事件。...窗体创建后,编写窗体和代码事件代码,就需要打开窗体代码窗口。在窗体上双击即可。或者在工程资源管理器,右侧选中相应窗体,示例中只有一个即userform1。鼠标右键单击选择查看代码。

    2.2K40

    Excel编程周末速成班第21课:一个用户窗体示例

    5.保存工作簿,然后关闭程序。...提供一个用于选择state列表框控件。 显示一个“下一步”命令按钮,该按钮将当前数据保存在工作表中,并再次显示该窗体以输入更多数据。...显示“完成”命令按钮,该按钮保存当前数据,保存工作簿并关闭窗体。 显示一个“取消”命令按钮,该命令按钮放弃当前数据并关闭窗体。 验证没有字段留为空白。 验证邮政编码条目是有效邮政编码。...如果验证成功,则将数据输入工作表中,并清除窗体且再次显示该窗体以供其他输入。或者,如果选择了“完成”按钮,则关闭窗体。你可以看到,当用户单击“下一步”或“完成”按钮,将执行验证。...注意:验证代码放置在函数中(而不是子过程),因此它可以将返回给调用程序:如果验证成功,则返回True;如果失败,则返回False。 验证过程代码清单21-3所示。

    6.1K10

    windows编程学习笔记(三)ListBox使用方法

    ,这两项都被选中,选择多项只需要点击不同项,不需要用组合键方式,同一项第一次单击选中,第二次单击时取消选中) LBS_NOINTEGRALHEIGHT   列表框大小由系统在创建这个列表框时候决定...获取锚点索引,锚点就是在多选模式下选中第一项 LB_GETCARETINDEX 在多选模式下返回具有焦点条目的索引 LB_GETCOUNT 获取列表框中子项总数 LB_GETCURSEL 获取被选中子项索引...,被选中大于0,未被选中为0,发生错误时小于0 LB_GETSELCOUNT 在多选模式下获取当前被选中项总数 LB_GETSELITEMS  在多选模式下,获取选项,需要提供一个相应数组首地址用来保存返回结果...在多选模式下,设置给定索引矩形设置为焦点矩形,如果该没有显示,那么滚动条将会自动滚动到相应行 LB_SETCOLUMNWIDTH 在多列模式下设置所有项列宽,使用这个消息必须保证列表框有LBS_MULTICOLUMN...列表框向其父窗口发送通知码为: LBN_DBLCLK 当某一项被单击发送 LBN_ERRSPACE 当系统不能分配足够内存来进项相应处理发送该通知码 LBN_KILLFOCUS 当列表框中某一项失去焦点发送

    3.5K20

    后台系统设计(上篇:选择)

    ·在用户与切换开关交互,请提供良好视觉反馈,且切换开关本身状态提供良好能供性(关闭、开启、禁用)。 讨论:切换开关在用户更改后立即触发命令执行? 此说法并非绝对。...·列表提供全选和多选操作,以便用户能够在列表间移动大量选项。 ·实时显示当前被选中列表/ 「源」 列表数量比及 「目的」 列表数量。 ·若列表框内容大于视窗高度,列表框高度为:N列表+½列表。...上下文菜单,例如,常见右键操作及文本选择命令(剪切、复制和粘贴等): ? 下拉选择器。多适用于颜色、日历(日月年)、日期、时间等内容: ?...最佳用法 ·在较小空间下,对多个选项进行选择或内容较为次要且不需要一直显示,下拉菜单是不错选择。若选项较少,考虑使用单选框(当进行单项选择)或复选框(当进行多项选择)。...·对于大多数操作,当单击菜单或以外区域,菜单应该收起关闭;如果点击菜单项是多选操作,则菜单应保持打开状态。 ·禁用菜单项,而不是隐藏,以提高功能可发现性。

    9.7K21

    使用C#开发数据库应用程序

    (最小化),默认为Normal b.窗体重要事件 事件: Load 窗体加载事件,窗体加载发生 MoseClick 鼠标单击事件,当用户单击窗体发生 MouseDoubleClick...为菜单项设置Name属性,加前缀tsmi,:tsmiAddStudentUser 、tsmiExit等....(要显示字符串,消息框标题,消息框按钮); MessageBox.Show(要显示字符串,标题,消息框按钮,消息框图标); b.消息框返回 :DialogResult.OK;//用户单击了...:(string)dataReader["StudentName"]; (5)关闭DataReader对象,调用它Close()方法 :dataReader.Close(); c.常见错误...(2)设置DataGridView属性和个列属性 (3)指定DataGridView数据源 c.如何保存修改后数据 (1)增加"保存修改"按钮 (2)编写事件处理方法 d.常见错误

    5.9K30

    Excel实战技巧72:又一个创建级联列表框示例

    在《Excel实战技巧68:创建级联列表框(使用ADO技术)》中,我们使用ADO技术将列表框项目关联起来,实现了级联列表框。 这里我们再举一个相对简单实现级联列表框例子。...图2 打开VBE,插入一个用户窗体,在用户窗体中放置两个标签和两个列表框,将左侧列表框命名为lbxItem,右侧列表框命名为lbxCategory,如下图3所示。 ?..."单元格区域赋值给变量 Set rngItem = Sheet1.Range("项目") '列表框lbxItem中 Me.lbxItem.List = rngItem.Value...End Sub '当列表框lbxItem选项改变 Private Sub lbxItem_Change() Dim rngCategory As Range '将lbxItem中所选项对应名称代表单元格区域赋值给变量...Set rngCategory =Sheet1.Range(Me.lbxItem.Value) '列表框lbxCategory中 Me.lbxCategory.List =

    80720

    【译】W3C WAI-ARIA最佳实践 -- 控件

    允许选择一个选项列表框是一个单选列表框;允许选择多个选项列表框是一个多选列表框。 当屏幕阅读器呈现一个列表框,可能会渲染出其名称、状态和每个选项在列表中位置。...当一个多选列表框接收到焦点: 如果列表框接收焦点之前没有选择任何选项,焦点设置在第一个选项并且选择状态不会自动改变。 如果列表框接收焦点之前选择一个或多个选项,焦点设置在已选择选项第一个。...多选:开发者可以实现以下两种交互模型中一种来支持多项选择:一个是推荐模型,当导航列表不需要用户按住修饰键,例如 Shift 或Control ,或一种替代模型,当导航需要用户按住修饰键,防止丢失选择状态...单选列表框中,选中选项 aria-selected 设置为 true。 如果列表框支持多选: 角色 listbox 元素将 aria-multiselectable 设置为 true。...在多选树中选择:作者可使用以下两种交互模式以支持多选:推荐模式,用户正在浏览列表不要求用户按住辅助键, Shift 或 Control ,或另一种模式,当浏览要求按住辅助键,以避免丢失选择状态。

    4.5K30

    【tkinter系列 第八课 Listbox窗口部件 】

    本节课将要学习Listbox窗口部件,Listbox是列表框意思,那什么时候该用Listbox部件呢?列表框用于从一组文本项中进行选择。根据列表框配置方式,用户可以从列表中选择一个或多个项。...() 列表框基础操作 插入 第一次创建列表框,它是空。...宽400高250窗口 x是小写英文字符root.geometry('400x250') # 创建一个列表框listbox = Listbox(root)listbox.pack() # 插入listbox.insert...(0,2)# 将列表前3个元素删除 # 程序一直循环,直到我们关闭窗口root.mainloop() 效果: ?...)# 程序一直循环,直到我们关闭窗口root.mainloop() 多选 列表框通过 selectmode 选项提供了四种不同选择模式。

    2K20
    领券