Skip to content

Commit 655620b

Browse files
committed
✨ Add supports for .NET8.0/9.0
1 parent fd28c97 commit 655620b

File tree

9 files changed

+31
-21
lines changed

9 files changed

+31
-21
lines changed

examples/MinimalWinFormiumApp/MinimalWinFormiumApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>WinExe</OutputType>
5-
<TargetFrameworks>net6.0-windows;net481;</TargetFrameworks>
5+
<TargetFrameworks>net8.0-windows;</TargetFrameworks>
66
<Nullable>enable</Nullable>
77
<UseWindowsForms>true</UseWindowsForms>
88
<ImplicitUsings>enable</ImplicitUsings>

examples/MinimalWinFormiumApp/MyApp.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212

1313
namespace MinimalWinFormiumApp;
14-
internal class MyApp : NanUIAppStartup
14+
internal class MyApp : AppStartup
1515
{
1616
protected override MainWindowCreationAction? UseMainWindow(MainWindowOptions opts)
1717
{

src/NetDimension.NanUI.csproj

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<PropertyGroup>
99
<OutputType>Library</OutputType>
10-
<TargetFrameworks>net8.0-windows;net7.0-windows;net6.0-windows;net481;net48;net472;net471;net47;net462;</TargetFrameworks>
10+
<TargetFrameworks>net9.0-windows;net8.0-windows;net7.0-windows;net6.0-windows;net481;net48;net472;net471;net47;net462;</TargetFrameworks>
1111
<Nullable>enable</Nullable>
1212
<UseWindowsForms>true</UseWindowsForms>
1313
<ImplicitUsings>enable</ImplicitUsings>
@@ -37,21 +37,23 @@
3737

3838
<PropertyGroup Condition="'$(Configuration)'=='Release'">
3939
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
40+
<Version>1.1.$(ChromiumVersion).2</Version>
41+
4042
</PropertyGroup>
4143

4244
<ItemGroup>
43-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
44-
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.3" />
45+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.4" />
46+
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.4" />
4547
<PackageReference Include="SharpGen.Runtime" Version="2.0.0-beta.13" />
4648
<PackageReference Include="SharpGen.Runtime.COM" Version="2.0.0-beta.13" />
47-
<PackageReference Include="SkiaSharp" Version="3.116.1" />
49+
<PackageReference Include="SkiaSharp" Version="3.119.0" />
4850
<PackageReference Include="System.Net.Http" Version="4.3.4" />
49-
<PackageReference Include="System.Text.Json" Version="9.0.3" />
50-
<PackageReference Include="Vanara.PInvoke.SHCore" Version="4.1.1" />
51-
<PackageReference Include="Vanara.PInvoke.User32" Version="4.1.1" />
52-
<PackageReference Include="Vanara.PInvoke.Gdi32" Version="4.1.1" />
53-
<PackageReference Include="Vanara.PInvoke.DwmApi" Version="4.1.1" />
54-
<PackageReference Include="Vanara.PInvoke.UxTheme" Version="4.1.1" />
51+
<PackageReference Include="System.Text.Json" Version="9.0.4" />
52+
<PackageReference Include="Vanara.PInvoke.SHCore" Version="4.1.3" />
53+
<PackageReference Include="Vanara.PInvoke.User32" Version="4.1.3" />
54+
<PackageReference Include="Vanara.PInvoke.Gdi32" Version="4.1.3" />
55+
<PackageReference Include="Vanara.PInvoke.DwmApi" Version="4.1.3" />
56+
<PackageReference Include="Vanara.PInvoke.UxTheme" Version="4.1.3" />
5557
<PackageReference Include="Vortice.Direct2D1" Version="2.4.2" />
5658
<PackageReference Include="Vortice.Direct3D11" Version="2.4.2" />
5759
<PackageReference Include="Vortice.DirectComposition" Version="2.4.2" />

src/Sources/Bootstrapper/AppBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public AppBuilder ConfigureChromium(Action<ChromiumEnvironmentBuiler> configureD
5555
return this;
5656
}
5757

58-
public AppBuilder UseNanUIApp<TApp>() where TApp : notnull, NanUIAppStartup
58+
public AppBuilder UseNanUIApp<TApp>() where TApp : notnull, AppStartup
5959
{
6060
Services.AddSingleton<INanUIStartup, TApp>();
6161

src/Sources/Bootstrapper/NanUIAppStartup.cs renamed to src/Sources/Bootstrapper/AppStartup.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// GITHUB: https://github.com/XuanchenLin/NanUI
55

66
namespace NetDimension.NanUI;
7-
public abstract class NanUIAppStartup : INanUIStartup
7+
public abstract class AppStartup : INanUIStartup
88
{
99
/// <summary>
1010
/// The main entry point for WinFormium app.

src/Sources/Formium/Formium.Members.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -930,19 +930,21 @@ private bool BrowserLButtonDown(ref Message m)
930930

931931
ClientToScreen(WindowHandle, ref point);
932932

933+
var lparam = Macros.MAKELPARAM((uint)point.X, (uint)point.Y);
934+
933935
if (CurrentFormStyle.Sizable && CurrentFormStyle.UseBrowserHitTest && mode != HitTestValues.HTCLIENT && HostWindow!.WindowState == FormWindowState.Normal)
934936
{
935937
ReleaseCapture();
936938

937-
PostMessage(WindowHandle, (uint)WindowMessage.WM_NCLBUTTONDOWN, (IntPtr)mode, (IntPtr)((point.X & 0xFFFF) | (point.Y << 16)));
939+
PostMessage(WindowHandle, (uint)WindowMessage.WM_NCLBUTTONDOWN, (IntPtr)mode, lparam);
938940

939941
return true;
940942
}
941943
else if (isInDraggableArea)
942944
{
943945
ReleaseCapture();
944946

945-
PostMessage(WindowHandle, (uint)WindowMessage.WM_NCLBUTTONDOWN, (IntPtr)HitTestValues.HTCAPTION, (IntPtr)((point.X & 0xFFFF) | (point.Y << 16)));
947+
PostMessage(WindowHandle, (uint)WindowMessage.WM_NCLBUTTONDOWN, (IntPtr)HitTestValues.HTCAPTION, lparam);
946948

947949
return true;
948950
}

src/Sources/Formium/Forms/base/Forms/WindowBase/FramelessWindowBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ Color ChangeColor(Color color, float correctionFactor)
6060

6161
return Color.FromArgb(color.A, (int)red, (int)green, (int)blue);
6262
}
63-
63+
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
6464
internal protected Color BorderColor { get; set; } = Color.FromArgb(0xB2, 0xB2, blue: 0xB2);
6565

6666
private Color? _inactiveBorderColor = null;
67-
67+
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
6868
internal protected Color InactiveBorderColor
6969
{
7070
get => _inactiveBorderColor ?? ChangeColor(BorderColor,-0.1f);
@@ -87,7 +87,7 @@ internal protected Color InactiveBorderColor
8787
private readonly IntPtr FALSE = new IntPtr(0);
8888

8989
protected abstract bool EnableHitTest { get; }
90-
90+
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
9191
internal protected bool ShowBorder
9292
{
9393
get => _showBorder;

src/Sources/Formium/Forms/base/Forms/WindowBase/StandardWindowBase.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66

77

8+
using System.ComponentModel;
9+
810
using static Vanara.PInvoke.User32;
911

1012
namespace NetDimension.NanUI.Forms;
@@ -16,6 +18,7 @@ partial class _FackUnusedClass
1618

1719
public abstract class StandardWindowBase : Form
1820
{
21+
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
1922
internal protected HWND WND { get; protected set; }
2023
internal protected WindowDpiAdapter WindowDpiAdapter { get; }
2124

@@ -42,6 +45,8 @@ internal protected virtual HitTestValues HitTest(Point pos)
4245

4346
public StandardWindowBase()
4447
{
48+
AutoScaleMode = AutoScaleMode.Dpi;
49+
4550
WindowDpiAdapter = new WindowDpiAdapter(this);
4651

4752
BackColor = Color.White;
@@ -248,7 +253,7 @@ private void WmSize(ref Message m)
248253

249254

250255
private bool _isWindowActivated = false;
251-
256+
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
252257
internal protected bool IsWindowActivated
253258
{
254259
get => _isWindowActivated;

src/Sources/Formium/Forms/base/Forms/WindowBase/WindowDpiAdapter.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,15 @@ public WindowDpiAdapter(Form form)
4040

4141
protected override void WndProc(ref Message m)
4242
{
43+
#if !NET8_0_OR_GREATER
4344
if (m.Msg == (int)WindowMessage.WM_DPICHANGED)
4445
{
4546
if (WmDpiChanged(ref m))
4647
{
4748
return;
4849
}
4950
}
50-
51+
#endif
5152

5253

5354
base.WndProc(ref m);

0 commit comments

Comments
 (0)