如何让ComboBox的下拉列表宽度自适应内容的宽度
答案:2 悬赏:0 手机版
解决时间 2021-02-08 23:41
- 提问者网友:饥饿走向夜
- 2021-02-08 14:36
如何让ComboBox的下拉列表宽度自适应内容的宽度
最佳答案
- 五星知识达人网友:玩世
- 2021-02-08 14:58
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) ComboBox1: TComboBox; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginend;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);var strlen:integer;i:integer;begin strlen:=length(combobox1.Items[0]); for i:=1 to combobox1.Items.Count-1 do//计算最大长度 begin if length(combobox1.Items[i])>strlen then strlen:=length(combobox1.Items[i]); end; combobox1.Width:=strlen*9;//控制width属性end;end.我把代码写在窗体的鼠标移动事件中了,你也可以写在其他过程中。主要是控制组合框的width属性,通过列表框中的每个items的长度来改变。倒数第三行的strlen*9是可以改变的,乘以几都可以,自己试试乘几合适。
全部回答
- 1楼网友:七十二街
- 2021-02-08 16:19
本身可以设定宽度...但自适应 ...也许可以试着通过设定上级元素宽度来压制他?- -
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯