1

最近、Mono-Develop IDE(v1)を使用してUbuntu 8.04でMono(1.9.1)を使い始めました。GTK-Sharp2を使用してPlayアプリのGUIを実行しようとしています。

何らかの理由でgtkダイアログ(ColorSelectionDialogまたはMessageDialog)を作成しようとすると、コンパイラは「'Gtk.ColorSelectionDialog.ColorSelectionDialog(GLib.GType)'は保護レベル(CS0122)のためアクセスできません」というエラーをスローします。

おそらく、これらのダイアログはGTKライブラリのパブリックオブジェクトではありませんか?

例外をスローするいくつかのc#コードのサンプルを次に示します。

Gtk.ColorSelectionDialog dlg = new Gtk.ColorSelectionDialog(); //dont need any more than this

助言がありますか?

4

1 に答える 1

4

解決策を見つけました。引数なしで既定のコンストラクターを使用することはできません。何らかの理由で、このコンストラクターは機能しません。次のように呼び出された場合:

MessageDialog md = new MessageDialog (parent_window, 
                                  DialogFlags.DestroyWithParent,
                              MessageType.Error, 
                                  ButtonsType.Close, "Error loading file");

その後、正常に動作します。明らかにどこかでバグが発生していますが、Gtk または Mono の根本的な問題を解決する方法を理解するための技術的な知識がありません。

于 2008-09-15T18:52:27.810 に答える