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

ќблако “егов