标签: controls

.Net GroupBox 中的定位控件

通常,我使用以下方法编写可(优雅地)调整大小的表单。

using System.Drawing;
using System.Windows.Forms;
namespace silly
{
    public class Form1 : Form
    {
        private GroupBox g;
        private Button b1, b2;
        public Form1()
        {
            Init();
        }
        private void Init()
        {
            //create and add controls.
            this.Controls.Add(g = new GroupBox());
            g.Controls.AddRange(new Control[] { 
                    b1 = new Button(),
                    b2 = new Button()});


            g.Text = "group";
            b1.Text = "b1";
            b2.Text = "b2!";


            b1.AutoSize = b2.AutoSize = true;


            g.Resize += new System.EventHandler(g_Resize);

        }

        private void g_Resize(object sender, System.EventArgs e)
        {
            b1.Size = b2.Size = new …
Run Code Online (Sandbox Code Playgroud)

c# user-interface controls groupbox winforms

0
推荐指数
1
解决办法
1万
查看次数

将控件的属性名称传递给函数

我有一个函数可以根据控件名称和输入命令更改控件的属性。

 public void SetControl(string ControlName, string Operation)
    {
        Control Control = this.Controls.Find(ControlName, true)[0];

        switch (Operation)
        {
            case "ok":
                Control.BackColor = Color.Green;
                Control.ForeColor = Color.Black;
                break;
            case "error":
                Control.BackColor = Color.Red;
                Control.ForeColor = Color.Blue;
                break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我想知道是否还有什么方法可以传递属性名称?当然我可以做这样的事情:

if (propertyname=="ForeColor")
 {Control.ForeColor = Color.Black;}
Run Code Online (Sandbox Code Playgroud)

但我应该对我要更改的所有属性执行此操作!有没有办法根据名称查找并更改属性?

c# controls properties function

0
推荐指数
1
解决办法
643
查看次数

C# 在单独的线程上调用按钮控件

我看到了很多关于如何从不同线程编辑 c# 表单上的控件的问题,但对我来说没有多大意义。我知道您不能从主线程以外的其他线程更改任何 UI。为了使这项工作有效,您必须使用调用并从那里安全地编辑控件?

我有一个按钮开始写入文件,当您按下按钮时,按钮本身就会被禁用,因此您无法启动执行完全相同操作的多个线程。写入完成后,我希望按钮再次可用,但我无法让它在另一个线程上工作。

我将其作为表单中的Generate_Click 事件。

private void Generate_Click(object sender, EventArgs e)
{
    Generate.Enabled = false;

    int x = 512;
    int y = 512;

    MBrot mbrot = new MBrot(x, y);

    PB_Update lb = new PB_Update(0, y, Generator_PB, Generate, mbrot, this);
    lb.Start();
}
Run Code Online (Sandbox Code Playgroud)

这是 PB_Update.cs 中的 ThreadWork() 函数,当 while 循环完成时,对文件的写入完成,线程也完成,因此它结束并给出一个带有“finished”的消息框,现在作为最后一个按钮需要再次启用。

public void ThreadWork()
{
    while (true)
    {
        if (currValue_ >= maxValue_)
            break;

        ThreadTick();
    }

    mb_.StopBrot();
    t_.Interrupt();

    MessageBox.Show("Finished!");
    Generate_.Enabled = true;
}
Run Code Online (Sandbox Code Playgroud)

c# controls multithreading invoke winforms

0
推荐指数
1
解决办法
9199
查看次数

使用浏览器(例如 Firefox 或 Chrome)替换最新的 .NET WebBrowser 控件

我正在使用 Visual Studio C# 找到一个 ActiveX 控件,但它看起来像是旧版本。

我需要:

  • 可以集成到我的应用程序窗口(而不是单独的窗口)内的浏览器

  • 对 CSS、js 和其他 Web 技术的良好支持,可与任何现代浏览器相媲美

  • 基本的浏览器功能,如“导航”、“后退”、“重新加载”...自由访问页面代码和输出。

.net c# controls activex

0
推荐指数
1
解决办法
1万
查看次数

按下按钮时如何在一个标签中显示两个事件

我想在一个标签中显示来自用户的输入信息,但我在运行时无法在标签中显示性别选项

button.setOnAction(new EventHandler<ActionEvent>(){
    @Override
    public void handle(ActionEvent event) {
        if (male.isSelected()) {
            info.setText(male.getText());
        }

        if (female.isSelected()) {
            info.setText(female.getText());
        }
    }
});

button.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        info.setText(nameField.getText()+ "\n"+ noField.getText() +"\n"+ emaileField.getText() );
    }
});
Run Code Online (Sandbox Code Playgroud)

controls javafx button

0
推荐指数
1
解决办法
36
查看次数

股票WPF会获得menustrip控制吗?

WPF真正"准备好"时的"指标"是Visual Studio中提供了menustrip控件.如果没有这个,从我的角度来看,它仍然在"建设中",与winforms相比.这不是技术论证,只是个人偏好.

所以我的问题是:Visual Studio何时会出现WPF menustrip控件?例如,这是否会出现在Visual Studio 2010的最终版本中?

wpf controls menustrip visual-studio

-1
推荐指数
1
解决办法
2266
查看次数

如何让c#wpf webbrowser控件加载移动版网站

我有一个简单的WPF应用程序与webbrowser控件.当我指示控件加载页面时,我希望控件告诉服务器它正在尝试加载页面,因为它是移动设备,因此加载较小版本的页面.我知道很多网站的地址之前只加移动,所以google.com的移动网页是mobile.google.com,但我不知道是否有装载有Web服务器自动将我的浏览器控件的方式该网站的移动版本?我觉得应该有一个非常简单的方法来做到这一点,但我只是想不通:).

提前致谢!!!

c# browser wpf controls mobile-website

-1
推荐指数
1
解决办法
3293
查看次数

如何以编程方式破坏delphi中的可视控件?

我遇到了麻烦.我创建了一个标签对象.

var lbl:Tlabel;
begin
lbl:=TLabel.Create(nil);
....
Run Code Online (Sandbox Code Playgroud)

好的,但是在摧毁它之后,它仍然在形式上.有我的代码:

lbl.free;
lbl := nil;
Run Code Online (Sandbox Code Playgroud)

执行后,控件保持在窗体上.有解决方案吗?我需要销毁这个组件,这应该从形式上消失.谢谢.

编辑:RemoveControl(AControl:TControl); 程序不起作用.EDIT2:

for I := 0 to 4 do begin
 lbl:=TLabel.Create(nil);
lbl.Top :=  100+z*i;
 lbl.Left := 88;
 Lbl.Width := 80;
  Lbl.Height := 14;
  lbl.Font.Size := 9;
 lbl.Caption := nm[i];
 Form1.InsertControl(lbl);
Run Code Online (Sandbox Code Playgroud)

这种控制保持在形式上.

delphi controls

-1
推荐指数
1
解决办法
932
查看次数

我可以按名称查找控件并在单个命令中更改属性吗?

我们可以通过名称找到控件并使用C#中的单个命令更改属性吗?我有这个:

TextBlock tb = mainGrid.FindName("FirstNameTextBlock") as TextBlock;
tb.Visibility = Visibility.Collapsed;
Run Code Online (Sandbox Code Playgroud)

有没有办法用一个命令来做?这不起作用,但是这样的事情:

(TextBlock)mainGrid.FindName("FirstNameTextBlock").Visibility = Visibility.Collapsed;
Run Code Online (Sandbox Code Playgroud)

c# controls findname

-1
推荐指数
1
解决办法
86
查看次数

查找控件标题并更改其状态

我有启用/禁用控件的窗体,表示窗体处于忙或空闲状态.我需要启用一个控件(一个按钮,但可能是其他),当它被禁用以中止某个进程时.我将按钮标题更改为"ABORT".

我点击按钮A,我将按钮A的标题改为'ABORT'.所有其他控件将被禁用,但我想要一个标题为"ABORT"的按钮仍然启用.

procedure F1.FormBusy (sender);
var
  a: Integer;
begin
  for a := 0 to TabSheet1.ControlCount - 1 do
  begin
    TabSheet1.Controls[a].Enabled := False;
    (* if TabSheet1.Controls[a] caption := 'ABORT' then
      TabSheet1.Controls[a].Enabled := True
      < how to do this ? *)
  end;
end;
Run Code Online (Sandbox Code Playgroud)

用法示例:

procedure F1.LB1Click(sender: TObject);
begin
  FormBusy(sender);
  try
    // do something
  finally
    FormIdle(sender);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi controls disabled-control

-1
推荐指数
1
解决办法
413
查看次数

如何动态地向gridview添加控件?

我有两列,如何动态添加一个或两个控件...每次创建一行...

我还想通过迭代动态创建列.

我如何实现这一目标?

asp.net controls gridview

-2
推荐指数
1
解决办法
7256
查看次数

VB.NET Parenting使控件不可见

我创建了一个表单.我在其上放了2个面板,即"Panel1"和"Panel2".我在"Panel2"中放了一个按钮.

然后我在表单中添加了另一个按钮,即"Button2".

单击"Button2"执行以下代码:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    Me.Panel2.Parent = Me.Panel1
    ' Me.Panel1.Location = New Point(0, 0) this does not work either

End Sub
Run Code Online (Sandbox Code Playgroud)

当我点击"Button2"时,"Panel2"就会消失.我希望"Panel2"放在"Panel1"中,但是那里没有显示.

有人看到我做错了吗?

感谢您的帮助!

vb.net user-interface controls

-2
推荐指数
1
解决办法
128
查看次数

C#如何从函数返回Button数组

您好我有这个方法创建一个按钮数组,我想让它包装在方法中,因为我将使用它几次:

        void CreatingButtons(int n, List<string> names)
    {
        Button[] Buttons = new Button[n];
        int horizontal = 180; int vertical = 5;
        int Height = 33; int Width = 350 / Buttons.Length;
        for (int i = 0; i < Buttons.Length; i++)
        {
            Buttons[i] = new Button();
            Buttons[i].Height = Height;
            Buttons[i].Width = Width;
            this.Controls.Add(Buttons[i]);
            Buttons[i].Text = names[i];
            Buttons[i].TextAlign = ContentAlignment.MiddleCenter;
            Buttons[i].Location = new Point(horizontal, vertical);
            horizontal += Buttons[i].Width;
            Buttons[i].Click += (o, k) => { };
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想在这里返回新创建的按钮数组

        private void bHow_Click(object sender, EventArgs …
Run Code Online (Sandbox Code Playgroud)

c# arrays controls return button

-5
推荐指数
1
解决办法
397
查看次数