加载值combobox.selectedindex C#INI中的Winform不起作用

加载值combobox.selectedindex C#INI中的Winform不起作用,c#,.net,winforms,aforge,C#,.net,Winforms,Aforge,目的是加载combobox.selectedindex的保存值,并在下次加载应用程序时使用它。但是,它将返回默认值0 INI文件存储来自2个摄像头的3个值,分别为“图像覆盖”、“视频覆盖”和“视频分辨率”,不工作的是始终加载0的视频“分辨率” 此代码用于保存INI值:- switch (properties) { case 1: (..........) case 3:

目的是加载combobox.selectedindex的保存值,并在下次加载应用程序时使用它。但是,它将返回默认值0

INI文件存储来自2个摄像头的3个值,分别为“图像覆盖”、“视频覆盖”和“视频分辨率”,不工作的是始终加载0的视频“分辨率”

此代码用于保存INI值:-

switch (properties)
            {
                case 1:
                    (..........)
                case 3:
                    cam1_Resolution = cb_resolutionCam1.SelectedIndex.ToString();
                    ini.WriteValue("Camera 1", "Resolution", cam1_Resolution);
                    break;
            }
此代码用于加载不工作的INI值:-

cam2_Resolution = ini.ReadValue("Camera 2", "Resolution", cam2_Resolution);    
if (cam2_Resolution == "")
{
  cb_resolutionCam2.SelectedIndex = 0;
}
else
{
  int no = int.Parse(cam2_Resolution);                
  cb_resolutionCam2.SelectedIndex = no;
  textBox2.Text = no.ToString();
}
我尝试过转换方法,但无法加载值:-

cam2_Resolution = ini.ReadValue("Camera 2", "Resolution", cam2_Resolution);    
if (cam2_Resolution == "")
{
  cb_resolutionCam2.SelectedIndex = 0;
}
else
{
  int no = Convert.Uint32(cam2_Resolution);                
  cb_resolutionCam2.SelectedIndex = no;
  textBox2.Text = no.ToString();
}
当我尝试直接分配给数字来检查我的其他代码是否干扰了进程时,它正在工作,但没有保存在INI文件中

cb_resolutionCam2.SelectedIndex = 3;
我无法使用combobox.selectedtext将其加载回combobox,因为解析是从RGE.NET库拆分阵列的结果:-

 switch (camNo)
        {
            case 1:
                {
                    cb_resolutionCam1.Items.Clear();
                    videoCapabilities_cam1 = videoSource.VideoCapabilities;
                    foreach (VideoCapabilities capability in videoCapabilities_cam1)
                    {
                        string item = string.Format("{0} x {1}", capability.FrameSize.Width, capability.FrameSize.Height);
                        if (!cb_resolutionCam1.Items.Contains(item))
                        {
                            cb_resolutionCam1.Items.Add(item);
                        }
                    }
                    if (videoCapabilities_cam1.Length == 0)
                    {
                        cb_resolutionCam1.Items.Add("Not Supported");
                    }
                    cb_resolutionCam1.SelectedIndex = 0;
                    break;
                }

有什么方法可以使Combobox.SelectedIndex工作,因为它更简单,或者有其他解决方法

您没有使用和/或利用
app.Config
文件的原因是什么。。Ini文件也可以与.net一起使用,但可以说是昨天的情况。当某些东西不起作用时也是如此。。有人问这个问题是公平的<代码>是否使用调试器单步执行代码。。可能您在回写.INI文件时没有正确地执行有关保存方法和/或的操作logic@MethodMan我还是C的初学者。我在我习惯的最后一个项目中使用了Ini文件。感谢您介绍app.Config。我确实使用了调试器,INI正确地保存了设置,但无法仅为combobox加载。SelectedIndex如何处理
combobox。SelectedValue
您是否在谈论这一行
cb_resolutionCam2.SelectedIndex=no如果有问题
不是整数。。SeletedIndex根据数值工作
no
是字符串。。如果所选索引
no
,则可能需要将其设置为组合框中的实际索引。。如果你一直加载它,你就会知道它是value@MethodMan我想我找到了问题所在。Step-thru调试器确实帮了我很多忙。我把断点放在应用程序的开始处,是的,我犯了错误,错误地放置了断点。应用程序总是加载运行函数重置值并将其保存在INI中。。。谢谢你抽出时间。