C# 颜色对话框显示在浏览器后面
我创建了一个ASP.NET Web表单应用程序,当我单击按钮以显示颜色对话框时,它在第一次单击时即可正常工作。随后单击,对话框显示在浏览器后面。我从一些帖子中注意到,人们在表单上放置了一个颜色对话框。我不知道为什么,但是颜色对话框在我的工具箱里没有。期待答案,看看我的ID-10-T错误。谢谢C# 颜色对话框显示在浏览器后面,c#,asp.net,webforms,colordialog,C#,Asp.net,Webforms,Colordialog,我创建了一个ASP.NET Web表单应用程序,当我单击按钮以显示颜色对话框时,它在第一次单击时即可正常工作。随后单击,对话框显示在浏览器后面。我从一些帖子中注意到,人们在表单上放置了一个颜色对话框。我不知道为什么,但是颜色对话框在我的工具箱里没有。期待答案,看看我的ID-10-T错误。谢谢 protected void Button1_Click(object sender, EventArgs e) { ColorDialog colorDialog = ne
protected void Button1_Click(object sender, EventArgs e)
{
ColorDialog colorDialog = new ColorDialog();
colorDialog.AnyColor = true;
colorDialog.AllowFullOpen = false;
if (colorDialog.ShowDialog() == DialogResult.OK)
{
string str = null;
str = colorDialog.Color.Name;
if (str.Substring(0, 2) == "ff")
{
str = "#" + str.Substring(2);
}
//MessageBox.Show(str);
lblTo.ForeColor = System.Drawing.ColorTranslator.FromHtml(str);
lblFrom.ForeColor = System.Drawing.ColorTranslator.FromHtml(str);
lblDate.ForeColor = System.Drawing.ColorTranslator.FromHtml(str);
lblTime.ForeColor = System.Drawing.ColorTranslator.FromHtml(str);
pnlKudos.BackColor = System.Drawing.ColorTranslator.FromHtml(str);
pnlKudos.ForeColor = System.Drawing.ColorTranslator.FromHtml(str);
txtButWait.BorderColor = System.Drawing.ColorTranslator.FromHtml(str);
string sTemp = "border: 0px #fff solid;";
txtExtra.Attributes["style"] = sTemp;
sTemp = "border-bottom: 1px " + str + " solid;";
txtExtra.Attributes["style"] = sTemp;
sTemp = "background-color: " + str;
divKudos.Attributes["style"] = sTemp;
}
}
您正在服务器上显示该对话框 当您从VisualStudio运行代码时,它似乎可以工作,但这只是因为该实例中的服务器和客户端恰好是同一台机器 一旦将代码部署到真正的服务器上,代码就会停止工作。如果幸运的话,您将得到一个异常,告诉您无法从非交互式进程显示对话框。如果没有,代码将挂起,等待有人登录到服务器并关闭对话框 您需要使用客户端颜色选择器。谷歌有很多例子,例如: