C_Sharp 板


LINE

※ 引述《james732 (好人超)》之铭言: : 首先要谢谢您的回覆,我想是我没有说清楚...orz : 我的UI实际上是这个样子的: http://imgur.com/5hNCp1L.png
: (工作上的东西,请恕我涂黑) : Raw Data 是从 Binary File 里面读出来的一大串 byte array : 每个Control的资料,有可能是这些来源之一: : (1) Raw Data 的某个 byte,显示在 TextBox 上 => 10进位或16进位显示 : (2) Raw Data 的某个 byte 的某一个 bit => 做为 CheckBox 是否勾选 : (3) Raw Data 的某个 byte 里的某一些 bit => 做为 ComboBox 的 Index 选项 : (4) Raw Data 里的多个 byte 组合成一个16位元或32位元的无号数 => TextBox 显示 : 这样的资料有好几个Page,所以项目相当的多,而且没有规则 : 我想问的是,Raw Data与Control之间要怎麽互动是最好的 : RawData读出来可以正确的显示在Control上 : Control上的改变也可以回写至Raw Data 本来想推文,後来发现会写很多就算了。 简单一句话:取联集。 或者详细点的, 依照你的意思,我理解成这样, 1. 一个RawData就是一笔资料 2. 一个RawData的不同Byte用不同的Control去显示 3. 一个RawData的多个Byte可以组合成一个资讯,让Control去显示 如果换成程式码的话,我的理解是这样, 1. 一个RawData就是一个物件 2. 每个不同的Byte当成是一个基本属性(最高温度、最低温度) 3. 多个基本属性可以运算成另一个属性(如:平均温度=(最高温度+最低温度)/2) 4. 每个属性都有一个Control去显示 我的作法是, 一个RawData所有需要的显示的属性都算出来, 再来看你想怎样的显示方式。 1. 把所有要显示的control都集合成一个,然後全部用DataGridView都显示。 不管你是最高温度、最低温度、湿气、紫外线、平均温度… 不管其他资讯要不要,我一次都处理好全部显示给你。 2. 如果显示样板数量有确认,如固定10个样板 根据不同样板给予不同资料。 如:你有温度显示样板,紫外线显示样板,你点选什麽样版我就给你怎样资讯。 不管怎麽做,你一个RawData所需要的资讯一定要全部算出来。 资料与显示页面的连动部分, 可以利用控制项的Eevent、INotifyPropertyChanged、Binding, 方法很多选个你喜欢的。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.231.94.198
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1400156462.A.EBC.html
1F:推 james732:谢谢您的回覆,我再想想看要怎麽做比较好 05/15 20:33
2F:→ james732:其实我的问题主要是在资料量很大的情况下,怎麽做比较好 05/15 20:55
3F:→ james732:目前大量的Property以及大量的Control Binding 05/15 20:55
4F:→ james732:我自己都觉得弄错了很难找问题.... 05/15 20:55
所以我就建议你,全部都用GridView解决就好,也只要Binding一个而已, 而且你那些Property也不算多, 我还写过一个class有60个property,也是用一个GridView解决, (不是我故意写6X个,是对方给我的资料格式就长这样。) 一推人都在建议你用GridView,怎麽感觉你都没听到~"~
5F:→ Ammenze:资料多的control binding用grid最好 05/15 22:27
6F:→ Ammenze:主要就是找出部分规则配例外处理 05/15 22:28
7F:推 Eleganse:看了一下 主要问题出在J大针对每一个档案都new了一个 05/15 22:45
8F:→ Eleganse:class form出来对应 实际上应该要用grid view中的row就好 05/15 22:45
9F:→ Eleganse:gridview中的每一个row 都可以放你想要放的所有子控制项 05/15 22:49
※ 编辑: StupidGaGa (125.231.94.198), 05/16/2014 00:16:31
10F:→ james732:以我目前的ui配置,我不知道要怎麽改用datagridview... 05/16 06:55
=====关於DataGridView===== 请问你是, 不会用DataGridView,还是不知道怎麽改成DataGridView? 如果你不会用DataGridView, 那你可以上MSDN或买书自学; 如果你不知道怎麽改成DataGridView, 那代表你有更多的细节没说出来,而这些细节是必须要考量的, 或者更严重的,你的程式架构可能有问题,必须要修改。 该怎麽改成DataGirdView我已经附图片给你了, 虽然只有一个栏位是CheckBox,但也代表其他栏位可以改成ComboBox或其他类型。 =====关於属性===== 你的资料1~资料7,里面的控制项都集合在一个DataGridView不困难, 比较麻烦(但不困难),像你程式里面的struct Setting的属性要一个一个设定, 你的RawData有上千个,但你的属性并没有上千个, 比较一下也知道该怎麽处理。 如果你嫌懒,那我跟你讲,没办法,除非你不做Programer, 我也曾经光建立一个class就花了一整天,属性也修了好几次。 =====关於程式码===== 依照你提供的范例,我建议你几点, 1. 你少一个最基本的属性,一个RawData本身 2. 你的属性必须由RawData去算出来,不是每一个属性都自己「设定」出来 3. 你的struct Setting内并没有方法去算出属性值。 我还是哪句话,你要有一个类别包含全部你所要显示的属性, 根据不同的Form去丢物件全部属性,还是物件的部分属性。 都提示成这样,如果你还不懂,我…就只差帮你写程式而已了~"~ ※ 编辑: StupidGaGa (60.249.117.38), 05/16/2014 09:29:29
11F:→ james732:我目前只会用基本的datagridview,把List做为datasource 05/16 15:54
12F:→ james732:显示出来 05/16 15:54
13F:→ james732:谢谢您的费心说明,我会再多用功的XD 05/16 15:55
14F:推 Eleganse:把gridview从工具箱拉出来後 切到原码画面去看 05/16 18:30
15F:→ Eleganse:(也就是切过去後 视窗会警告你不要乱改的那页) 05/16 18:31
16F:→ Eleganse:把你放到class form里面那些checkbox、combobox控制项 05/16 18:32
17F:→ Eleganse:塞到gridview里面去 让gridview去帮你代劳展这数千个form 05/16 18:33
18F:→ Eleganse:当然gridview会帮你展成一列一列的row 而不是form 05/16 18:33
19F:推 james732:好的,我再仔细看看那边自动产生的code 05/16 21:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP