@@ -203,8 +203,28 @@ public FileDialog()
203203 } ;
204204
205205 fileRender . filesTree . NodeMouseClick += filesTree_NodeMouseClick ;
206+
207+ this . Shown += FileDialog_Shown ;
206208 }
207209
210+ private void FileDialog_Shown ( object sender , EventArgs e )
211+ {
212+ var fs = Filter . Split ( '|' ) ;
213+ for ( int i = 0 ; i < fs . Length ; i += 2 )
214+ comboFilter . Items . Add ( fs [ i ] ) ;
215+
216+ if ( comboFilter . Items . Count > 0 )
217+ {
218+ comboFilter . SelectedIndex = 0 ;
219+ comboFilter . SelectedIndexChanged += ( s , a ) =>
220+ {
221+ fileRender . SetDirectory ( fileRender . currentPath ) ;
222+ } ;
223+ }
224+
225+ fileRender . SetDirectory ( fileRender . currentPath ) ;
226+
227+ }
208228 protected virtual void filesTree_NodeMouseClick ( object sender , TreeNodeMouseClickEventArgs e )
209229 {
210230 if ( e . Button == MouseButtons . Right )
@@ -240,27 +260,6 @@ protected override void OnPaint(PaintEventArgs e)
240260 base . OnPaint ( e ) ;
241261 e . Graphics . DrawLine ( new Pen ( BorderColor ) , 1 , HeaderHeight , Width - 1 , HeaderHeight ) ;
242262 }
243- public new DialogResult ShowDialog ( )
244- {
245- var fs = Filter . Split ( '|' ) ;
246- for ( int i = 0 ; i < fs . Length ; i += 2 )
247- comboFilter . Items . Add ( fs [ i ] ) ;
248-
249- if ( comboFilter . Items . Count > 0 )
250- {
251- comboFilter . SelectedIndex = 0 ;
252- comboFilter . SelectedIndexChanged += ( sender , args ) =>
253- {
254- fileRender . SetDirectory ( fileRender . currentPath ) ;
255- } ;
256- }
257-
258- fileRender . SetDirectory ( fileRender . currentPath ) ;
259-
260- base . ShowDialog ( ) ;
261-
262- return Forms . DialogResult . None ;
263- }
264263
265264 protected void OpenFile ( )
266265 {
0 commit comments