Delphi 分组框1或2;根据单击按钮后选择的复选框
在表单上,我有两个分组框、两个复选框和一个按钮。在按钮代码中,我当前有以下两行:Delphi 分组框1或2;根据单击按钮后选择的复选框,delphi,delphi-7,delphi-2010,Delphi,Delphi 7,Delphi 2010,在表单上,我有两个分组框、两个复选框和一个按钮。在按钮代码中,我当前有以下两行: if CheckBox1.Checked then GroupBox1.Show; if CheckBox2.Checked then GroupBox2.Show; 我想要的是;我点击按钮后 如果选中复选框1,则应显示groupbox1,如果选中复选框2 如果选中,则应显示groupbox2 但是,还有两项要求让我感到困惑: 在我按下上面提到的按钮之前,两个groupbox都不应该显示在表单上 两个Group
if CheckBox1.Checked then GroupBox1.Show;
if CheckBox2.Checked then GroupBox2.Show;
我想要的是;我点击按钮后
如果选中复选框1,则应显示groupbox1,如果选中复选框2
如果选中,则应显示groupbox2
但是,还有两项要求让我感到困惑:
版本的delphi是7。
尝试以下方法:
GroupBox1.Visible := CheckBox1.Checked;
GroupBox2.Visible := CheckBox2.Checked;
试试这个:
GroupBox1.Visible := CheckBox1.Checked;
GroupBox2.Visible := CheckBox2.Checked;
由于您的2个GroupBox位于同一位置,我将使用radiobutton而不是复选框,因为2个GroupBox不能同时显示 以下是一个例子:
// Click event for a radiogroup see DFM below
procedure TForm1.rg1Click(Sender: TObject);
begin
gb1.Visible := False;
gb2.Visible := False;
if rg1.ItemIndex = 0 then
gb1.Visible := True
else
gb2.Visible := True;
end;
表单的设计如下(您可以查看我设置的不同属性):
由于您的2个GroupBox位于同一位置,我将使用radiobutton而不是复选框,因为2个GroupBox不能同时显示 以下是一个例子:
// Click event for a radiogroup see DFM below
procedure TForm1.rg1Click(Sender: TObject);
begin
gb1.Visible := False;
gb2.Visible := False;
if rg1.ItemIndex = 0 then
gb1.Visible := True
else
gb2.Visible := True;
end;
表单的设计如下(您可以查看我设置的不同属性):
两个groupbox都不应显示在表单上
编译程序之前,在Delphi对象检查器中将.Visible设置为false
你看过《秀》上的《帮助》了吗?它提到了这个属性。请参见第节
坦率地说,listbox.visible:=checkbox.checked更简洁
应显示在表单的同一位置 你不能在同一时间在同一地点展示它们 如果两个复选框都处于启用状态,您希望如何显示这两个复选框 我认为你应该去掉复选框,放上单选按钮,而不是只能按下一个或另一个 试试TRadioGroup RadioRouGroup.OnClick:=。。。(* 程序 List1.Visible:=RadioGroup.ItemIndex=1; 列表2.Visible:=RadioGroup.ItemIndex=2; 完.*)
两个分组框应显示在完全相同的位置 1) 使用TNotebook并将它们放在不同的页面上。切换页面,而不是切换可见性。这种方法将允许您进行更多的控制,而不仅仅是那些。你可以很容易地在不同的页面上的相同坐标上使用它们 2) 在form.OnShow:List2.Top:=List1.Top中,左边的宽度和高度相同 两个groupbox都不应显示在表单上 编译程序之前,在Delphi对象检查器中将.Visible设置为false 你看过《秀》上的《帮助》了吗?它提到了这个属性。请参见第节 坦率地说,listbox.visible:=checkbox.checked更简洁
应显示在表单的同一位置 你不能在同一时间在同一地点展示它们 如果两个复选框都处于启用状态,您希望如何显示这两个复选框 我认为你应该去掉复选框,放上单选按钮,而不是只能按下一个或另一个 试试TRadioGroup RadioRouGroup.OnClick:=。。。(* 程序 List1.Visible:=RadioGroup.ItemIndex=1; 列表2.Visible:=RadioGroup.ItemIndex=2; 完.*)
两个分组框应显示在完全相同的位置 1) 使用TNotebook并将它们放在不同的页面上。切换页面,而不是切换可见性。这种方法将允许您进行更多的控制,而不仅仅是那些。你可以很容易地在不同的页面上的相同坐标上使用它们
2) 在form.OnShow:List2.Top:=List1.Top和Left相同的情况下,宽度和高度不起作用。这两个GroupBox在运行时仍然不隐藏,在编译程序之前仍然不在formchange的同一区域IDE中可见///IDE中任何属性的更改都可以在程序运行后在代码中更改。在代码中更改的大多数属性可以在程序编译失败之前在IDE中更改。这两个GroupBox在运行时仍然不隐藏,在编译程序之前仍然不在formchange的同一区域IDE中可见///IDE中任何属性的更改都可以在程序运行后在代码中更改。代码中的大多数属性可以在程序编译之前在IDE中更改我用两个单选按钮替换了两个复选框,但以下两个代码都不起作用:
GroupBox1.Visible:=RadioButton1.Checked;GroupBox2.可见:=RadioButton2.选中代码>或`GroupBox1.Visible:=False;GroupBox2.Visible:=False;如果RadioButton1.ItemIndex=0,则GroupBox1.Visible:=True,否则GroupBox2.Visible:=True;终止˙阅读有关单选按钮及其行为的文档和教程。或者只使用radiogroup-对于您的案例和您将代码放在哪里更简单、更有效???在那里放置一个断点,看看代码是否执行过?如果codde从未执行过,它就永远不会改变任何事情。我在上面告诉过你代码和哪个事件应该为radiogroup调用它。我不能使用radiogroup,因为两个GroupBox中的一个必须根据按钮单击后按下的radiobutton发生,但是使用这两个代码中的任何一个,我甚至不能运行软件-它有一些wird错误。哪个按钮?使按钮禁用radiogroup,以便在按下按钮之前,没有人可以单击radiogroup。我将两个复选框替换为两个单选按钮,但以下两个代码均不起作用:GroupBox1.Visible:=RadioButton1.Checked;GroupBox2.可见:=RadioButton2.选中代码>或`GroupBox1.Visible:=False;GroupBox2.Visible:=False;如果RadioButton1.ItemIndex=0,则GroupBox1.Visible:=True,否则GroupBox2.Visible:=True;终止˙阅读有关单选按钮及其行为的文档和教程。或者干脆用r