有人知道如何从TColorBox
的下拉列表中删除某种颜色吗?
答案 0 :(得分:5)
您可以从Items集合中删除预先填写的内容。例如:
procedure TForm31.Button1Click(Sender: TObject);
var
Index: Integer;
begin
Index := ColorBox1.Items.IndexOfObject(TObject(clGreen));
if Index <> -1 then
ColorBox1.Items.Delete(Index);
end;
答案 1 :(得分:3)
您需要删除列表中的颜色:
procedure TForm7.FormCreate(Sender: TObject);
var i: Integer;
begin
i := ColorBox1.Items.IndexOf('clGreen');
if i <> -1 then
ColorBox1.Items.Delete(i)
else
Showmessage('invalid color');
end;
答案 2 :(得分:3)
您的问题标题:
如何防止在组件TColorBox中选择特定颜色?
所以防止不是删除,你有两个选择:
防止选择:
procedure TForm1.FormCreate(Sender: TObject);
begin
ColorBox1.ItemIndex := -1;
end;
procedure TForm1.ColorBox1Change(Sender: TObject);
begin
if ColorBox1.Colors[ColorBox1.ItemIndex] = clNavy then //Choose any color
begin
ShowMessage('Invalid color');
ColorBox1.ItemIndex := -1;
end;
end;
如果您需要删除Color
,那么您有两个答案可以做到。