QueryStringで16進値を渡しています。グリッドビューのセルでForeColorを使用するために、それを色に変換したいと思います。両方System.Drawing.ColorTranslator.FromHtml()
を試しましSystem.Drawing.Color.FromArgb()
たが、運がありませんでした。
私のQueryStringはurlencodedであるため、重要な部分は次のようになります。
QueryString...&color=%23AA4643
以下は私が.FromArgを試した方法です:
string sColor = Request.QueryString["color"]; // sColor is now #AA4643
Int32 iColorInt = Convert.ToInt32(sColor,16); //Get error message - Could not find any recognizable digits
Color curveColor = System.Drawing.Color.FromArgb(iColorInt); //Never makes it here
そして、これが私が.FromHtmlを試した方法です:
string sColor = Request.QueryString["color"];
System.Drawing.Color myColor = new System.Drawing.Color();
myColor = System.Drawing.ColorTranslator.FromHtml(sColor);
この場合、myColorは--myColor = "{Name = ffaa4643、ARGB =(255、170、70、67)}"に設定されます。
しかし、それを使用しようとすると、エラーが発生します。
インデックスが範囲外でした。負ではなく、コレクションのサイズよりも小さい必要があります。パラメータ名:インデックス
ありとあらゆる助けが大いに感謝します