示例#1
0
        /// <summary>
        /// Initializes the application.
        /// </summary>
        public static void Init()
        {
            WebviewType = WebviewType.Latest;

            app = new WinFormsApplication();
            Application.Register(app, OperatingSystem.Windows);
        }
示例#2
0
        public void Execute()
        {
            // 以下のコメントを外す事でコントロールが最初にnewされた際に
            // WindowsFormsSynchronizationContextが読み込まれないように出来ます。
            // falseにすると、デフォルトでSynchronizationContextが読み込まれます。
            //WindowsFormsSynchronizationContext.AutoInstall = false;

            WinFormsApplication.EnableVisualStyles();
            WinFormsApplication.Run(new SampleForm());
        }
示例#3
0
        protected virtual void Run(Form form)
        {
            if (form is null)
            {
                Run();
                return;
            }

            Context ??= form;
            if (form != Context)
            {
                throw new ArgumentException($"{nameof(form)} not reference equals with {nameof(Context)}");
            }

            Context.Closed += OnFormClosed;

            WinFormsApplication application = Domain.Current.Application as WinFormsApplication ?? throw new InitializeException("Application is not winforms");

            application.Run(Context);
        }
        public void Execute()
        {
            //
            // SynchronizationContextは、同期コンテキストを様々な同期モデルに反映させるための
            // 処理を提供するクラスである。
            //
            // 派生クラスとして以下のクラスが存在する。
            //   ・WindowsFormsSynchronizationContext   (WinForms用)
            //   ・DispatcherSynchronizationContext   (WPF用)
            //
            // 基本的に、WinFormsもしくはWPFを利用している状態で
            // UIスレッドとは別のスレッドから、UIを更新する際に裏で利用されているクラスである。
            // (BackgroundWorkerも、このクラスを利用してUIスレッドに更新をかけている。)
            //
            // 現在のスレッドのSynchronizationContextを取得するには、Current静的プロパティを利用する。
            // 特定のSynchronizationContextを強制的に設定するには、SetSynchronizationContextメソッドを利用する。
            //
            // デフォルトでは、独自に作成したスレッドの場合
            // SynchronizationContext.Currentの戻り値はnullとなる。
            //
            Output.WriteLine(
                "現在のスレッドでのSynchronizationContextの状態:{0}",
                SynchronizationContext.Current == null
                    ? "NULL"
                    : SynchronizationContext.Current.ToString()
                );

            //
            // フォームを起動し、値を確認.
            //
            WinFormsApplication.EnableVisualStyles();

            var aForm = new SampleForm();

            WinFormsApplication.Run(aForm);

            Output.WriteLine("WinFormsでのSynchronizationContextの型名:{0}", aForm.ContextTypeName);
        }
示例#5
0
 public void Execute()
 {
     WinFormsApplication.EnableVisualStyles();
     WinFormsApplication.Run(new StringInfoSampleForm());
 }
示例#6
0
 /// <summary>
 /// Initializes the application.
 /// </summary>
 public static void Init()
 {
     app = new WinFormsApplication();
     Application.Register(app, OperatingSystem.Windows);
 }
示例#7
0
 public void Execute()
 {
     WinFormsApplication.EnableVisualStyles();
     WinFormsApplication.Run(new ServerTimerSamples01());
 }