我在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-同样的查找问题使用无法启动搜索过程的Search
和Recently Used
该程序无法创建与索引器守护程序的连接。请确保它正在运行。
请帮我找到解决方案并教我如何找到所有这些小部件的名称。非常感谢你!
答案 0 :(得分:1)
要回答#1,FileChooser小部件上有一个Action属性,允许您根据需要设置它(打开,创建,选择文件夹等)。 “位置”字段包含文件名(如果是浏览则选择,或者如果创建新文件则可以输入)。
在#2上,双击FCW的默认行为是在文件夹上钻取并选择文件。因为您有一个Glib.ConnectBefore属性,所以您的事件处理程序将在默认处理程序之前运行。也许#2中的问题与处理程序有关?
在#3上听起来像你的开发机器上的问题。 FCW将允许您搜索文件系统,只要它可以连接到守护程序,因此看起来它没有运行。我在Windows,Mac OSX,Ubuntu或其他机器上的RHEL上没有遇到过这样的问题。