中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

北尔Beijer

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 北尔Beijer → 浏览主题: 国庆碰到的尚未解决的问题与展望 --SD文件名读取问题
发表新帖 回复该主题
回帖:3个,阅读:70 [上一页] [1] [下一页]
* 帖子主题:

国庆碰到的尚未解决的问题与展望 --SD文件名读取问题

分享到
1853
sxjice545
文章数:424
年度积分:869
历史总积分:1853
注册时间:2013/2/23
发站内信
发表于:2019/10/14 13:09:20
#0楼
触摸屏的开发环境是.NET Compact 3.5,品牌是Beijer

项目初期遇到的问题还是蛮多的,大多数都解决了。运行3~4个月,出现了一个问题一直不知如何去解决。

国庆节前一切正常,文件记录包括文件列表读取,都没有问题。但国庆节后突然发现,12台设备,有其中的两台设备记录不正常。界面上的文件列表无法更新到最近记录(国庆节之后),但其他的设备都正常。一开始以为是没有记录,但断电重启了发现丢失的数据都在。所以是列表文件显示问题。过了一个星期,又出现了了两台设备,出现同样的问题。

可能是导致问题的代码段:

               #region get file list filelist()
public static void filelist(List<string> file)
{
//string path = storagepath();

try
{
DirectoryInfo dir = new DirectoryInfo(storagepath());

//file.Clear();

foreach(FileInfo d in dir.GetFiles("*"))
{
if(d.Extension.ToUpper() == ".CSV")
file.Add(d.Name);
}
}
catch(Exception)
{

}

file.Sort((x,y) => y.CompareTo(x));
/*
if(file.Count > 100)
file.RemoveRange(100, file.Count - 100);
*/
}
#endregion


               void dmScr_Opened(System.Object sender, System.EventArgs e)
{

//fileListGet();
CB_filelist.SelectedIndex = -1;
file.Clear();
us_file.filelist(file);
us_file.filedsp(CB_filelist,file);
fileload.Text = "加载";
filedel.Text = "删除";
//CB_filelist.SelectedIndex = -1;

unchecked
{
us_file.lvOperate(LV_event,"楷体",18,FontStyle.Regular,Color.FromArgb((int)0xff0064A6));
}

datatrans.dmTrans += new datatrans.dmUpdate(dmrfs);
}

我自己也还在找问题,欢迎大家提供宝贵意见!


图

图

图

图

图

图

图

图

附件 image.jpg
[此贴子已经被jint于2019/10/14 14:43:07编辑过]
1853
sxjice545
文章数:424
年度积分:869
历史总积分:1853
注册时间:2013/2/23
发站内信
发表于:2019/10/15 8:22:36
#1楼
问题找到。
原因在于系统自带的ComboBoxCFAdapter,将其换成ComboBox解决此问题,代码上需要做一些调整,其中有一部分尤其需要注意。

贴上修改代码:

#region file list display filedsp(List<string> list, ComboBox cb)
public static void filedsp(List<string> list, ComboBox cb)
{
filelist(list);
if (cb.Items.Count != 0)
{
cb.DataSource = null;
cb.Items.Clear();
}
cb.DataSource = list;
cb.SelectedIndex = 0;
cb.Font = new Font("楷体",18,FontStyle.Regular);
}
#endregion

对于ComboBox的清空,使用的是DataSource = null
10737
pqsh 版主
文章数:4550
年度积分:2598
历史总积分:10737
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2019/10/15 10:01:23
#2楼
一个工控屏而已,做这么复杂.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@
1853
sxjice545
文章数:424
年度积分:869
历史总积分:1853
注册时间:2013/2/23
发站内信
发表于:2019/10/15 10:36:01
#3楼
回复 #2楼 pqsh
确实复杂了点
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2019 Gkong.com, All Rights Reserved

140.4