FileChooserButton - диалоговое окно открытия или сохранения, аналог OpenFileDialog и SaveFileDialog

11:03:2013 Рі.

В заметке рассматривается пример использования окна сохранения или открытия файла или папки с использованием GTK# Mono .NET.

Теоретически, данная процедура может быть выполнена с помощью контрола FileChooserButton, однако, на практике бывает не все так просто. Причиной этому является очевидный баг в работе контрола, который существует на данный момент и описывается ниже.

В случае использования File Chooser Button в Mono GTK# возможна проблема с изменением типа диалогового окна.

По умолчанию свойство Action данного контрола установлено в значение "Open", что является аналогом OpenFileDialog в C# Windows Forms .NET. В отличии от WindowsForms здесь нет отдельных контролов для сохранения или открытия файлов и если вам необходимо реализовать аналог SaveFileDialog в Mono GTK#, то вым необходимо изменить свойство Action с Open на Save. Однако ни в конструкторе ни в коде этот элемент управления не может изменить свое значение. Оно просто не меняется и всегда остается в значении Open.

Решение проблемы

Им является использование обычной кнопки и вызова блока кода, который будет вызывать соответствующее окно самостоятельно. В этом случае все отработает корректно:

Gtk.FileChooserDialog fc= new Gtk.FileChooserDialog("Сохранение файла", this, FileChooserAction.Save, "Отмена", ResponseType.Cancel, "Сохранить", ResponseType.Accept);

if (fc.Run() == (int)ResponseType.Accept)
{ /*Обработка  */  }
fc.Destroy();

Изменяя параметр FileChooserAction можно управлять поведением вызываемого окна - получая различные по функционалу окна - оно открытия или сохранения файла в GTK# или создания или выбора папки.

 

Добавить комментарий



Обновить

« Аналог своейства Checked в Mono GTK# - CheckBox.Active   Обработка диалогового окна Yes No MessageDialog - аналог MessageBox Mono »
← Раньше

Фотоальбом

fotic.jpg

Облако Тегов