FileChooserWidget中的功能和事件GTK#

时间:2017-05-09 17:55:38

标签: mono widget gtk# filechooser

我在Windows上的Xamarin Studio Community版本6.3上使用GTK#(新手)。 最近,我试图建立一个 Total Commander 应用程序。在构建过程中,我使用File Chooser Widget并发现了一些我无法解决的问题:

1-当我点击“地方信息”框中的文件夹时,会出现几个按钮:\ <icon button with a pen and a paper> enter image description here。当我点击Icon Button时,a Location Entry会显示出来。但是,我不知道如何使用条目,例如打开文件夹文件夹路径将显示在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 个答案:

答案 0 :(得分:1)

要回答#1,FileChooser小部件上有一个Action属性,允许您根据需要设置它(打开,创建,选择文件夹等)。 “位置”字段包含文件名(如果是浏览则选择,或者如果创建新文件则可以输入)。

在#2上,双击FCW的默认行为是在文件夹上钻取并选择文件。因为您有一个Glib.ConnectBefore属性,所以您的事件处理程序将在默认处理程序之前运行。也许#2中的问题与处理程序有关?

在#3上听起来像你的开发机器上的问题。 FCW将允许您搜索文件系统,只要它可以连接到守护程序,因此看起来它没有运行。我在Windows,Mac OSX,Ubuntu或其他机器上的RHEL上没有遇到过这样的问题。