- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试过以下方法
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/
我有一个需要几秒钟才能最终显示的表单。此表单通过以下方式调用: using (ResultsForm frm = new ResultsForm()) { this.Visible = fal
我有一个表单,它在 BackgroundWorker 工作时显示加载动画,并在工作完成时关闭。我用以下代码展示它: using (BackgroundWorker bw = new Backgroun
我在按钮点击中得到了代码,如下所示: try { Cursor = Cursors.WaitCursor; GenerateReports(); } finally { Cur
在 Visual Studio 2010 Express (C#) 中工作: 一旦我在下拉菜单中将光标切换到“WaitCursor”,我就无法将其更改为其他任何内容。这对我来说似乎是一个错误。其他人可
我试过以下方法 this.Cursor = Cursors.WaitCursor; //OR this.UseWaitCursor = true; //OR Application.UseWaitCu
考虑以下带有文本框和网络浏览器控件的简单 WinForms 表单。每当文本框内容发生变化时,文本就会被推送到浏览器: public class MainForm : Form { public
QMessageBox::information(this, "hello", "hello"); QApplication::setOverrideCursor(Qt::WaitCursor); Q
我在 C# .NET CF 应用程序中运行了一个有点冗长的过程,然后我想显示沙漏鼠标指针。我使用的代码是: Cursor.Current = Cursors.WaitCursor; Cursor.Sh
我是一名优秀的程序员,十分优秀!