知識、知恵のカタマリ

[PR]株主優待を受けてみよう☆

解決済

clip!clip!
Ads By Google

「hoge.DisplayStyle = fuga.None」

Visual C# 2008 Express Edition にて。

DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

てなところを

string hoge = "AllCells";
dataGridView1.AutoSizeColumnsMode = hoge;

のような感じにしたいのだけど、型が違うと怒られてしまいました。
どんな策を取れば良いですか。

2009-05-06 17:12の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(1)

1.

2009-05-06 18:41:29ベスト
文字列から列挙型のオブジェクト(インスタンス)を作成するには、
(型)Enum.Parse(型, 文字列)
を使います。(Enum.parse が返すのは、Object なので、キャストが必要)

この場合の列挙型の型は、DataGridViewAutoSizeColumnsMode なので、
DataGridView1.AutoSizeColumnsMode = (DataGridViewAutoSizeColumnsMode)Enum.Parse(typeof(DataGridViewAutoSizeColumnsMode ), "AllCells");
でOKだと思います。(未検証)
回答レベル : アドバイス

ありがとうございます。無事解決です。
Enum.Parseも試してみた積もりでしたけども、なるほど、Enum.Parseの前でも型変換してやらなきゃダメなんですね。


Ads By Google

コメント

まだコメントがありません

トラックバック(2)

トラックバックURL: