2017-05-09 26 views
2

Windows의 Xamarin Studio Community 버전 6.3에서 GTK # (초보자)를 사용하고 있습니다. 최근에 총 사령관 응용 프로그램을 만들려고했습니다. 건설 기간 동안, 나는 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 위젯에 Action 속성이 있습니다.이 속성을 사용하여 원하는 항목 (열기, 만들기, 폴더 선택 등)을 설정할 수 있습니다. 위치 필드에는 파일 이름 (탐색 할 경우 선택하거나 새 파일을 만드는 경우 입력 할 수 있음)이 있습니다.

# 2에서 FCW의 두 번 클릭에 대한 기본 동작은 폴더를 드릴 스루하고 파일을 선택하는 것입니다. Glib.ConnectBefore 속성이 있기 때문에 이벤트 핸들러는 기본 핸들러보다 먼저 실행됩니다. 어쩌면 # 2에서 어떤 문제라도 핸들러와 관련이 있습니까?

# 3 번은 개발자 기기의 문제와 비슷합니다. FCW를 사용하면 데몬에 연결할 수있는 한 파일 시스템을 검색 할 수 있으므로 실행되지 않는 것처럼 보입니다. Windows, Mac OSX, Ubuntu 또는 다른 컴퓨터의 RHEL에서 문제가 발생하지 않았습니다.

+0

답장을 보내 주셔서 감사합니다. 아직이 문제로 많은 문제를 겪고 있습니다. 지금까지'FileActivated()'신호를 사용하여 문제 # 2를 해결하는 방법을 알아 냈습니다. 반면에 # 1과 # 3은 여전히 ​​큰 질문입니다. 나는 ** override **하는 아이디어를 가지고 있었지만'filechooserwidget'은 많은 위젯들에 의해 만들어졌고 아직도 그것을 할 수있는 방법을 찾지 못했습니다! –