using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
+using Microsoft.VisualBasic.ApplicationServices;
namespace FDK
{
/// <summary>
/// アプリケーションフォームの基礎クラス。デバイスリソースを持つ。
/// </summary>
- public class ApplicationBase
+ public class ApplicationBase : Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase
{
public System.Windows.Forms.Form Window => ( this.bs_Window );
public bool 全画面モードである
protected set { this.全画面モードである = !value; }
}
- public ApplicationBase()
+ public ApplicationBase() : base()
{
- this.bs_Window = new Form();
+ this.EnableVisualStyles = true;
+ this.IsSingleInstance = true; // 単一インスタンスである
+ this.MainForm = new Form();
+
+ this.bs_Window = this.MainForm;
this.bs_Window.Load += OnLoad;
this.bs_Window.FormClosing += OnClosing;
this.bs_Window.ClientSizeChanged += OnClientSizeChanged;
{
// デバイスリソースはまだ再構築されていない。
}
+ /// <summary>
+ /// アプリが二重起動されたときに発生するイベント。
+ /// </summary>
+ /// <remarks>
+ /// 後続のインスタンスは起動せず、既存のインスタンスに対してこのイベントが発生する。
+ /// eventArg.CommandLine で、後続のインスタンスのコマンドライン引数を確認することができる。
+ /// </remarks>
+ protected override void OnStartupNextInstance( StartupNextInstanceEventArgs eventArgs )
+ {
+ base.OnStartupNextInstance( eventArgs );
+ }
#region " バックストア。"
//----------------
<HintPath>..\packages\CSCore.1.1.0\lib\net35-client\CSCore.dll</HintPath>
<Private>True</Private>
</Reference>
+ <Reference Include="Microsoft.VisualBasic" />
<Reference Include="SharpDX, Version=3.0.2.0, Culture=neutral, PublicKeyToken=b4dcf0f35e5521f1, processorArchitecture=MSIL">
<HintPath>..\packages\SharpDX.3.0.2\lib\net45\SharpDX.dll</HintPath>
<Private>True</Private>
static class Program
{
[STAThread]
- static void Main()
+ static void Main( string[] args )
{
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault( false );
- Application.Run( new StrokeStyleT().Window );
+ var sst = new StrokeStyleT();
+ sst.Run( args );
}
}
}
using System.Diagnostics;
using System.Linq;
using System.Windows.Forms;
+using Microsoft.VisualBasic.ApplicationServices;
namespace SST
{
FDK.Log.EndInfo( $"{FDK.Utilities.現在のメソッド名}" );
}
+ /// <summary>
+ /// アプリが二重起動されたときに発生するイベント。
+ /// </summary>
+ /// <remarks>
+ /// 後続のインスタンスは起動せず、既存のインスタンスに対してこのイベントが発生する。
+ /// eventArg.CommandLine で、後続のインスタンスのコマンドライン引数を確認することができる。
+ /// </remarks>
+ protected override void OnStartupNextInstance( StartupNextInstanceEventArgs eventArgs )
+ {
+ base.OnStartupNextInstance( eventArgs );
+ }
// 各ステージの、唯一のインスタンス。最終的に null を代入するので、readonlyにはしない。
protected SST.ステージ.ステージ 最初のダミーステージ = new ステージ.ステージ();
<HintPath>..\packages\CSCore.1.1.0\lib\net35-client\CSCore.dll</HintPath>
<Private>True</Private>
</Reference>
+ <Reference Include="Microsoft.VisualBasic" />
<Reference Include="SharpDX, Version=3.0.2.0, Culture=neutral, PublicKeyToken=b4dcf0f35e5521f1, processorArchitecture=MSIL">
<HintPath>..\packages\SharpDX.3.0.2\lib\net45\SharpDX.dll</HintPath>
<Private>True</Private>