2017-05-09 8 views
2

WindowsのXamarin Studio Communityバージョン6.3でGTK#(Newbie)を使用しています。 最近、私はTotal Commanderアプリケーションを構築しようとしていました。工事期間中、私はFile Chooser Widgetを使用して、私は解決できないいくつかの問題が見つかりました:私は場所ボックスでフォルダをクリックするとFileChooserWidgetの機能とイベントGTK#

1-、いくつかのボタンが表示されます。\<icon button with a pen and a paper>enter image description hereを。 Icon Buttonをクリックすると、が表示されます。しかし、私はフォルダを開くようなことエントリを使用する方法がわからない、フォルダパスLocation entryに表示またはフォルダパス、は、ウィジェット上で開きますフォルダを入力します。

FileChooserWidget fcw1 = new global::Gtk.FileChooserWidget(((global::Gtk.FileChooserAction)(0))); 
Entry e1 = new Entry(); 

e1.Text = fcw1.CurrentFolder; 

私はLocation Entryことをキャプチャし、それを使用する方法を見つけることを願っています:私の一時的な解決策は、エントリを作成することです。

2-私は仕事場でダブルクリックイベントを使用してファイルを開く際に問題があります。私のコードは:

[GLib.ConnectBefore]  
protected void OnFcw1ButtonPressEvent(object o, ButtonPressEventArgs args) 
     { 
      if (((Gdk.EventButton)args.Event).Type == Gdk.EventType.TwoButtonPress) 
       { 
        entry1.Text = fcw1.Filename; 
        if (File.Exists(fcw1.Filename)) 
         Process.Start(fcw1.Filename); 
       } 
     } 

、3- は、検索処理 を開始できませんでしたことをSearchRecently Usedの使用を見つけるのと同じ問題は、プログラムは、インデクサデーモンへの接続を作成することができませんでした。実行中であることを確認してください。

これらのウィジェットの名前を見つける方法を教えてください。どうもありがとうございました!

答えて

1

#1に答えるには、FileChooserウィジェットにアクションプロパティがあります。これは、あなたが望むように(開く、作成、フォルダの選択など)設定できます。 [場所]フィールドにはファイル名(参照する場合に選択するファイルまたは新しいファイルを作成する場合に入力するファイル名)が含まれます。

#2では、FCWをダブルクリックすると、フォルダのドリルスルーとファイルの選択が行われます。 Glib.ConnectBefore属性があるので、イベントハンドラはデフォルトハンドラの前に実行されます。たぶん#2であなたが持っている問題はハンドラに関係していますか?

#3は、あなたの開発マシンの問題のようです。 FCWを使うと、デーモンに接続できる限りファイルシステムを検索できるので、実行されていないように見えます。 Windows、Mac OSX、Ubuntu、またはRHELの他のマシンでは問題はありませんでした。

+0

ご返信いただきありがとうございます。私はまだこのような作業に多くの問題を抱えています。今まで、私はFileActivated()シグナルを使って問題#2を解決する方法を考え出しました。一方、#1と#3は依然として大きな問題です。私は**それらを上書きするアイデアを持っていましたが、 'filechooserwidget'はたくさんのウィジェットによって作成されましたが、私はまだそれを行う方法を見つけていません! –

関連する問題