是否可以根据包含该信息的SQL表为C#文本框指定颜色?
下面的代码完美地读取了我希望在文本框中填充的值,并对其他计算进行比较。但是,同时,其中之一是是否可以根据包含该信息的SQL表为C#文本框指定颜色?,c#,asp.net,colors,C#,Asp.net,Colors,下面的代码完美地读取了我希望在文本框中填充的值,并对其他计算进行比较。但是,同时,其中之一是getColorFromTable=dataReader[“ReqCol”].ToString()=Convert.ToDouble(minimumFlowCapacity)&&flow20PSI谢谢@Etienne,您的解决方案让我找到了我需要的解决方案,使用以下方法: public static Color FromName(string colorName) { System.Drawin
getColorFromTable=dataReader[“ReqCol”].ToString()返回正在计算的设备的颜色。我试图找到一种方法,使应用程序从表中读取相同的颜色,并将其分配给以下对象:
txpaintcorupdate.ForeColor
和txpaintcorupdate.BorderColor
因此,表中有四种颜色:红色、橙色、绿色和浅蓝色。计算完成后,系统将颜色类型分配给设备,但作为指示器,应如上所述更改txPaintColorUpdate
的颜色
以下是代码的一部分:
conn.Open();
SqlDataReader dataReader;
dataReader = cmd.ExecuteReader();
if (dataReader.Read())
{
minimumFlowCapacity = dataReader["MinFC"].ToString();
maximumFlowCapacity = dataReader["MaxFC"].ToString();
getColorFromTable = dataReader["ReqCol"].ToString();
getClassification = dataReader["Class"].ToString();
}
因此,变量getColorFromTable
从表中接收颜色名称并将其显示在文本框中(txPaintColorUpdate
)。有没有建议如何读取相同的颜色名称,以便C#可以将其分配给文本框?我知道常用的方法是调用txpaintcorupdate.BorderColor=System.Drawing.Color.Red代码>和txPaintColorUpdate.ForeColor=System.Drawing.Color.Orange代码>,但是可能有一种更简单的方法,不需要执行大量的if()
else{}
语句
这是进行计算时代码的一部分,应将颜色指定给文本框:
if (flow20PSI >= Convert.ToDouble(minimumFlowCapacity) && flow20PSI <= Convert.ToDouble(maximumFlowCapacity))
{
txPaintColorUpdate.Text = getColorFromTable;
//txPaintColorUpdate.ForeColor = System.Drawing.Color(txPaintColorUpdate.);
//txPaintColorUpdate.BorderColor = System.Drawing.Color.Red;
}
if(flow20PSI>=Convert.ToDouble(minimumFlowCapacity)&&flow20PSI谢谢@Etienne,您的解决方案让我找到了我需要的解决方案,使用以下方法:
public static Color FromName(string colorName)
{
System.Drawing.Color systemColor = System.Drawing.Color.FromName(colorName);
return new Color(systemColor.R, systemColor.G, systemColor.B, systemColor.A); //Here Color is Microsoft.Xna.Framework.Graphics.Color
}
发件人:
我的解决方案仅使用以下内容:System.Drawing.Color systemColor=System.Drawing.Color.FromName(getColorFromTable);