为了账号安全,请及时绑定邮箱和手机立即绑定

如何检测用户在 ListBox win 表单中单击了哪个项目

如何检测用户在 ListBox win 表单中单击了哪个项目

C#
DIEA 2023-09-24 10:38:14
我正在努力做的是计算 SelectedItems[] 的通配符我希望 var uploadDir 基于 SelectedItem。我觉得我目前的处理方式只是重复的代码,并且可能是更好的处理方式。列表框1而且它不会让我将 x 设置为 null 并在 SelectedItems[x] 中使用它当前调试代码        private void button1_Click(object sender, EventArgs e)        {            if (ReportPeriod == "Daily Call Data")            {                MessageBox.Show(ReportPeriod);            }else if(ReportPeriod == "Weekly Call Data")            {                MessageBox.Show(ReportPeriod);            }        }        public string ReportPeriod;        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)        {            int x;              ReportPeriod = listBox1.SelectedItems[x].ToString();         }任何建议都将不胜感激。我正在开发一个小程序,通过 Excel 模板和 VLOOKUPS 更新我们的 KPI 仪表板。所以我拥有的是一个用户界面,允许经理选择他们将从列表框中加载的数据类型例如:每日通话数据、每日 CSAT 数据、每周通话数据等。然后,他们浏览下载的 csv 文件并按更新,csv 被移动并重命名,旧文件被重命名为前一天、前月、前年等。快速伪代码int x;ReportPeriod = listBox1.SelectedItems[x].ToString();if(ReportPeriod == "Daily Call Data"){  try{       string UploadDir = "C:\folder\daily\filename.xls";       more code... }catch(Exception){    More code... }}Else If (ReportPeriod == "Weekly Call Data"{ try{       string uploadDir = "C:\folder\weekly\filename.xls";     }}我需要做的是检测选择了哪个项目并将其分配给 ReportPeriod 并从那里创建 IF 和 ELSE IF 语句,或者我是否可以为列表框项目分配一个值(例如静态目录)小路)。我只是不知道如何从用户的鼠标单击中获取所选项目。
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

您并不是通过鼠标单击本身来获取所选项目;而是通过单击鼠标来获取所选项目。列表框将告诉您使用相关属性选择了哪些项目:


如果您只希望用户从列表中选择一项,请将 SelectionMode 设置为 One,然后访问 SelectedItem 属性


如果您希望用户选择多个报告并运行所有报告,但将它们保存到通用 csv,请将选择模式设置为允许多个报告,然后循环遍历 SelectedItems 集合,为每个报告运行报告


我假设您使用字符串(文本)加载了列表项集合。需要注意的是,您将把它们作为对象返回,因此您可能需要在与字符串进行比较以找出所选内容之前进行强制转换或 .ToString()


至于何时是在代码中获取值的好时机,您的按钮点击适合我:


    private void button1_Click(object sender, EventArgs e)

    {

        var rp= listbox1.SelectedItem.ToString();

        if (rp == "Daily Call Data")

        {

            MessageBox.Show("day");

        }else if(rp == "Weekly Call Data")

        {

            MessageBox.Show("week");

        }

    }


查看完整回答
反对 回复 2023-09-24
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信