gpt4 book ai didi

c# - 如何在禁用的 WinForms 上设置 WaitCursor 光标

转载 作者:行者123 更新时间:2023-11-30 18:30:14 24 4
gpt4 key购买 nike

我试过以下方法

this.Cursor = Cursors.WaitCursor; //OR 
this.UseWaitCursor = true; //OR
Application.UseWaitCursor = true; //OR
Application.DoEvents(); //AND

,但显然在添加以下行时等待光标没有出现:

this.Enabled = false;

P/S: this指的是窗体


问题:

如何在禁用的 WinForms 上设置 WaitCursor 光标?

最佳答案

您应该以不同的方式处理事情...不应该有理由禁用表单来阻止用户交互。使用带有进度条或消息的对话框,让用户知道发生了什么。不要给用户程序挂起或崩溃的印象。这是一条可怕的路线。从用户的角度思考,当您使用他人的程序时,是什么让您感到沮丧。

但是,这对我有用:

this.Enabled = false;
this.UseWaitCursor = true;

显然,它仅在光标位于表单上时显示。

完整的测试代码如下:

namespace WindowsFormsApplication1
{
partial class Form1
{
private System.ComponentModel.IContainer components = null;

protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();

this.button1.Location = new System.Drawing.Point(163, 110);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;

this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 262);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.Enabled = false;
this.UseWaitCursor = true;
}

private System.Windows.Forms.Button button1;
}
}

关于c# - 如何在禁用的 WinForms 上设置 WaitCursor 光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21898509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com