|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 10:12:30 |
标题: |
Delphi的Form1.BorderStyle := bsNone导致ListBox丢失已选择的项 |
浏览:927 |
|
加入我的收藏 |
楼主: |
我试过自带的ListBox控件是这样,Flat的ListBox 控件亦然,请问这个如何解决?
----------------------------------------------
- |
作者: |
|
2019/5/9 11:50:01 |
1楼: |
标题 前半句能看懂,后半句看不懂。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 12:21:46 |
2楼: |
意思时,我尝试更换其他控件包带的 ListBox,也是同样问题。
----------------------------------------------
-
|
作者: |
|
2019/5/9 12:24:21 |
3楼: |
没有看懂问题是什么。 可能我的火星语文老师是体育老师兼职的吧。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 12:31:16 |
4楼: |
没有看懂问题是什么。 可能我的火星语文老师是体育老师兼职的吧。 |
我贴代码吧: procedure TForm1.FormCreate(Sender: TObject); begin ListBox1.Selected[4]:=true; ListBox1.Selected[5]:=true; ListBox1.Selected[6]:=true end;
procedure TForm1.Button1Click(Sender: TObject); begin Form1.BorderStyle := bsNone end;
Button1 点了之后, ListBox1 已经选中的4,5,6 ,就变成不选中了。
----------------------------------------------
-
|
作者: |
|
2019/5/9 12:53:40 |
5楼: |
没有发生任何问题。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 14:19:25 |
6楼: |
噢噢,那就是 delphi7 的BUG了。
----------------------------------------------
-
|
作者: |
vmao (毛小毛) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2019/5/9 14:36:45 |
7楼: |
XE没有问题,D7有问题。
----------------------------------------------
-
|
作者: |
|
2019/5/9 14:47:00 |
8楼: |
嗯,D5确认也有此问题。 彻底解决显然是升级; 否则在设置BorderStyle := bsNone前记录selected的item; 设置后恢复就好。
----------------------------------------------
-
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 15:16:04 |
9楼: |
嗯,D5确认也有此问题。 彻底解决显然是升级; 否则在设置BorderStyle := bsNone前记录selected的item; 设置后恢复就好。 |
这个方法我也在用,不过不太好,因为我每次 selected 是有动作的。所以,不知道为啥D7的 ListBox 一直没修正这个BUG
----------------------------------------------
-
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 15:17:58 |
10楼: |
而且很好奇,这个BUG一直没人讨论,我发现了好多年,只是一直不太像解决,今日有空拿出来讨论并且找解决方法,GG也找不到好方法。
----------------------------------------------
-
|
作者: |
|
2019/5/9 15:37:05 |
11楼: |
因为 D7 不升级了。所以 BUG 也就留着不动了。 这不奇怪啊。 想解决,参考一下 新版本的代码,也许照抄几行代码,就行了。
----------------------------------------------
(C)(P)Flying Wang
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/9 15:43:48 |
12楼: |
我认真分析了,这个是D7 BUG,不是ListBox控件的BUG,因为其他控件包的ListBox在D7 也同样问题。只能最老土的解决方法记忆、恢复。
感谢各位的热烈讨论。谢了。现在我还在用D7,只是一种情怀,和现在听卡带一样。哈哈。
----------------------------------------------
-
|
作者: |
|
2019/5/9 15:51:34 |
13楼: |
讲真,多数人都不会用多选的listbox风格的,可以试试用Tchecklistbox; 不过如果是成品软件修改的话,工作量比暂存,恢复要大
----------------------------------------------
-
|
作者: |
ihweb (努力学习) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/5/10 16:28:47 |
14楼: |
各位,还有新发现:
Form1.Position:=poScreenCenter;
也会引起 失去选择的问题。呵呵,D7 还真多BUG
----------------------------------------------
-
|
|