🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

2902閲覧

スマートなSystem.Windows.Forms.MessageBoxとSystem.Windows.MessageBoxの共存

behoimi80

総合スコア62

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/01/14 02:01

既存システムに改修を行います。
そこで、yes/noのメッセージボックスを作りたく、

using System.Windows.Forms;

を追加すると

'MessageBox' は、'System.Windows.Forms.MessageBox' と 'System.Windows.MessageBox' 間のあいまいな参照です

と複数のエラーが表示。
既存でMessageBoxが複数使っているためです。

なので回避するために

System.Windows.Forms.MessageBox.Show("テスト", "キャプション", System.Windows.Forms.MessageBoxButtons.YesNo);

とするか悩んでます。

既存処理を触らず、簡単にスマートなyes/noのメッセージボックスを作る方法はあるのでしょうか?
ご教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/01/14 03:07

悩むのに余計な時間を費やすより、そのように(名前空間を省略せずに記述)するのが良いと思いますけど、何かできない事情がありますか?
behoimi80

2021/01/14 03:24

いいえ。C#は初心者でして、他に方法があるのかなと思いまして、、、 ベテランからみてこの方法が1番で適切な対処であればそのようにします!
guest

回答1

0

ベストアンサー

C#

1using MessageBox = System.Windows.Forms.MessageBox;

とすれば、System.Windows.Forms.MessageBoxが使用されます。

投稿2021/01/14 04:10

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2021/01/14 04:54

確かに! 一つ厚かましいですが教えてください。 他にyes/noのメッセージボックスを出す方法はないですよね?(自作でフォームを作らない限り) このメッセージボックスは標準であっていいと思うのですが、みんなわざわざ「参照の追加」をしてdllを見るよう対処しているのかなと疑問に持ちまして。。。
退会済みユーザー

退会済みユーザー

2021/01/14 05:14 編集

> 他にyes/noのメッセージボックスを出す方法はないですよね? 1.フレームワーク標準のMessageBoxクラスを使用する(内部ではWinAPIのMessageBoxを呼んでいる) 2.直接WinAPIでMessageBoxを呼び出す 3.自作する の三択です。1と2は実質やってる事は変わりません。 > このメッセージボックスは標準であっていいと思うのですが それが System.Windows.Forms.MessageBox ですが
behoimi80

2021/01/14 05:24

おお!ありがとうございます! 勉強になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問