2011-07-29 9 views
-1

私はC#で書かれたアプリケーションのメインウィンドウを取得しようとしています。 Application.MainWindowプロパティは動作しません:(メインウィンドウを取得

を使用しています?

using System; 
using System.Windows; 

using System.Windows.Forms; 
using System.ComponentModel; 
using System.Drawing; 
using System.Collections.Generic; 

using My; 
using MyDialogs; 

using System.Xml.Serialization; 
using System.Runtime.InteropServices; 

using System.Windows.Input; 
using System.Windows.Media; 
using System.Threading; 
using System.Windows.Interop; 
+2

どのように動作しませんか? –

+0

WPFまたはWinformsで試していますか? winformの場合は、このURLでチェックしてください。http://social.msdn.microsoft.com/Forums/en/winforms/thread/99df9c07-c117-465a-9207-fa3534982021 –

+0

これは、プロパティとして存在しないWindowオブジェクトです。 – jahsen

答えて

0

あなたはどこでもあなたのアプリケーションでこのようなコードの行を持っていますかForm1がタイプです

Application.Run(new Form1()); 

をアプリケーションが起動するときに作成されるフォーム。これは、新しいWindowsフォームアプリケーションを作成するときにデフォルトで作成されるコードです。インスタンスを覚えておきたい場合は、他のクラスからアクセス可能な変数に結果を格納するだけです。 e:

static class Program 
{ 
    public static Form1 MainForm; 

    // ... 

    static void Main() 
    { 
    // ... 
    MainForm = new Form1(); 
    Application.Run(MainForm); 
    } 
} 
+0

私はこのプライベート静的無効メイン(文字列[] args) \t \t { \t \t \t Application.EnableVisualStyles()を持っています。 \t \t \t Application.SetCompatibleTextRenderingDefault(false); \t \t \t Application.Run(new MainForm()); \t \t – jahsen

+0

大丈夫ですが、私はフォームではないウィンドウオブジェクトが必要です – jahsen

+0

私はそれを持って:)ありがとう! – jahsen

1

あなたのアプリケーションタイプはWindowsフォームアプリケーションだと思います。それはあなたからのポスト次の:

私はこの

private static void Main(string[] args) { 
    Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new MainForm()); 
} 

を持って、それはWPFで使用しているため、あなたは、メインウィンドウのオブジェクト(System.Windows.Windowのタイプ)を使用することはできません。新しいWPFプロジェクトを作成し、Application.MainWindowプロパティにアクセスできます。

関連する問題