SVN r1220

SVN-Revision: r1220
This commit is contained in:
cyf
2026-06-22 02:29:22 +00:00
parent 1e2c081b6a
commit c3e1e7d2d2
9 changed files with 177 additions and 71 deletions
+3 -1
View File
@@ -205,4 +205,6 @@ namespace Lskj.Main
{
if (DBConfig.Instance.CreateConnection())
{
if (Del
if (!DBConfig.Instance.ServerType.Equals("达梦数据库"))
{
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.Get
+8 -34
View File
@@ -233,11 +233,15 @@ namespace Lskj.Main
DBConfig.Instance.Connection = Connection;
if (DBConfig.Instance.CreateConnection(Connection))
{
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection(DBConfig.Instance.dephiConnection))) == 0)
if (!DBConfig.Instance.ServerType.Equals("达梦数据库"))
{
MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]");
return;
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection(DBConfig.Instance.dephiConnection))) == 0)
{
MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]");
return;
}
}
if (isSave)
{
if (!string.IsNullOrEmpty(this.txtZTName.Text))
@@ -251,34 +255,4 @@ namespace Lskj.Main
DBConfig.Instance.WriteConfig("LocalLastIP", this.txtIP.Text);
DBConfig.Instance.WriteConfig("LocalLastPort", this.txtPort.Text);
DBConfig.Instance.WriteConfig("LocalLastPortName", this.txtZTName.Text);
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
MessageUtil.Show("请设置账套名!");
}
}
else
{
MessageUtil.Show(ResourceKeys.ConnectSuccess);
}
}
else
{
MessageUtil.Show(ResourceKeys.ConnectFault);
}
}
else
{
MessageUtil.Show(ResourceKeys.ConnectFault);
}
//IniHelper.Write("SystemResources.ini", "FrmConfigFlag", "1");
}
catch (Exception)
{
MessageUtil.Show(ResourceKeys.ConnectFault);
}
}
}
}
t
+31 -8
View File
@@ -220,8 +220,10 @@ namespace Lskj.Main
/// <param name="e"></param>
private void FrmMain_LocationChanged(object sender, EventArgs e)
{
ERPInfo.Instance.WatermarkForm.Size = this.ClientSize; // 设置水印窗体的大小与主窗体客户端区域相同
ERPInfo.Instance.WatermarkForm.Location = this.PointToScreen(new Point(0, 0)); // 将水印窗体定位到主窗体的位置
if (!IsWatermarkAvailable()) return;
watermarkForm.Size = this.ClientSize; // 设置水印窗体的大小与主窗体客户端区域相同
watermarkForm.Location = this.PointToScreen(new Point(0, 0)); // 将水印窗体定位到主窗体的位置
}
/// <summary>
@@ -233,6 +235,8 @@ namespace Lskj.Main
{
if (SystemInfo.Instance.DisplayWatermark)
{
if (!IsWatermarkAvailable()) return;
if (ERPInfo.Instance.MainControl.WindowState == FormWindowState.Minimized) watermarkForm.Visible = false;
if (ERPInfo.Instance.MainControl.WindowState != FormWindowState.Minimized)
@@ -244,6 +248,28 @@ namespace Lskj.Main
}
}
private bool IsWatermarkAvailable()
{
return watermarkForm != null && !watermarkForm.IsDisposed && !watermarkForm.Disposing;
}
private void CloseWatermarkForm()
{
this.SizeChanged -= FrmMain_SizeChanged;
if (IsWatermarkAvailable())
{
watermarkForm.SafeClose();
if (!watermarkForm.IsDisposed)
{
watermarkForm.Dispose();
}
}
watermarkForm = null;
ERPInfo.Instance.WatermarkForm = null;
}
/// <summary>
/// U盾状态改变
/// </summary>
@@ -427,11 +453,7 @@ namespace Lskj.Main
/// <param name="e"></param>
private void OnCloseButtonCallBack(object sender, EventArgs e)
{
if (ERPInfo.Instance.WatermarkForm != null)
{
ERPInfo.Instance.WatermarkForm.Close();
ERPInfo.Instance.WatermarkForm.Dispose();
}
CloseWatermarkForm();
this.Close();
}
/// <summary>
@@ -511,6 +533,7 @@ namespace Lskj.Main
{
try
{
CloseWatermarkForm();
Manager.ModuleForms.Clear();
}
catch (Exception ex)
@@ -732,4 +755,4 @@ namespace Lskj.Main
Screen screen = Screen.FromPoint(System.Windows.Forms.Control.MousePosition);
Rectangle workingArea = screen.WorkingArea;
+22 -4
View File
@@ -132,10 +132,31 @@
<metadata name="panelControl6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="plTop.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="btnMin.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="btnColse.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="plBottom.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lblTip.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="plSubMenus.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panelControl6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureEdit1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="plTop.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="pictureEdit1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="btnMin.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -158,9 +179,6 @@
sQPqAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="plBottom.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lblTip.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+46 -2
View File
@@ -18,6 +18,7 @@ namespace Lskj.Main
{
// 保存主窗体引用,用于同步位置和大小
private Form _mainForm;
private bool _eventsDetached;
public FrmWatermark(Form mainForm)
{
@@ -35,6 +36,7 @@ namespace Lskj.Main
this.Opacity = 0.3;
//重绘界面,绘制水印
this.Paint += FrmWatermark_Paint;
this.Disposed += FrmWatermark_Disposed;
// 监听主窗体的移动和大小变化(关键修复)
@@ -54,18 +56,21 @@ namespace Lskj.Main
// 主窗体位置变化时同步水印位置
private void MainForm_LocationChanged(object sender, EventArgs e)
{
if (IsUnavailable()) return;
SyncPositionAndSize();
}
// 主窗体大小变化时同步水印大小和位置
private void MainForm_SizeChanged(object sender, EventArgs e)
{
if (IsUnavailable()) return;
SyncPositionAndSize();
}
// 主窗体显示状态变化时同步
private void MainForm_VisibleChanged(object sender, EventArgs e)
{
if (IsUnavailable()) return;
this.Visible = _mainForm.Visible;
if (_mainForm.Visible)
{
@@ -77,13 +82,13 @@ namespace Lskj.Main
// 主窗体关闭时同步关闭水印
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
this.Close();
SafeClose();
}
// 同步水印窗体与主窗体的位置和大小
private void SyncPositionAndSize()
{
if (_mainForm == null || _mainForm.IsDisposed) return;
if (IsUnavailable()) return;
// 关键修复:在多屏幕环境下正确计算位置
this.Size = _mainForm.ClientSize;
@@ -100,6 +105,45 @@ namespace Lskj.Main
this.Invalidate();
}
public void SafeClose()
{
if (this.IsDisposed || this.Disposing)
return;
DetachMainFormEvents();
this.Close();
}
private bool IsUnavailable()
{
return this.IsDisposed || this.Disposing || _mainForm == null || _mainForm.IsDisposed || _mainForm.Disposing;
}
private void DetachMainFormEvents()
{
if (_eventsDetached || _mainForm == null)
return;
_mainForm.LocationChanged -= MainForm_LocationChanged;
_mainForm.SizeChanged -= MainForm_SizeChanged;
_mainForm.VisibleChanged -= MainForm_VisibleChanged;
_mainForm.FormClosing -= MainForm_FormClosing;
_eventsDetached = true;
}
protected override void OnFormClosed(FormClosedEventArgs e)
{
DetachMainFormEvents();
_mainForm = null;
base.OnFormClosed(e);
}
private void FrmWatermark_Disposed(object sender, EventArgs e)
{
DetachMainFormEvents();
_mainForm = null;
}
private void FrmWatermark_Paint(object sender, PaintEventArgs e)
{
try
+40 -10
View File
@@ -14,6 +14,9 @@
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<IsWebBootstrapper>false</IsWebBootstrapper>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<PublishUrl>发布\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -26,11 +29,8 @@
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
@@ -77,9 +77,14 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\引用DLL\libzkfpcsharp.dll</HintPath>
</Reference>
<Reference Include="Lskj.Web.Core, Version=1.0.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\引用DLL\Lskj.Web.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Net" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
@@ -100,6 +105,12 @@
<Compile Include="Control\AwaitScreenControl.Designer.cs">
<DependentUpon>AwaitScreenControl.cs</DependentUpon>
</Compile>
<Compile Include="Control\BackgroundPanel.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Control\BackgroundPanel.Designer.cs">
<DependentUpon>BackgroundPanel.cs</DependentUpon>
</Compile>
<Compile Include="Control\CornerLab.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -130,6 +141,12 @@
<Compile Include="Control\Menu_Item.Designer.cs">
<DependentUpon>Menu_Item.cs</DependentUpon>
</Compile>
<Compile Include="Control\Menu_ItemNew.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Control\Menu_ItemNew.Designer.cs">
<DependentUpon>Menu_ItemNew.cs</DependentUpon>
</Compile>
<Compile Include="Control\ResSelectForm.cs">
<SubType>UserControl</SubType>
</Compile>
@@ -264,6 +281,9 @@
<EmbeddedResource Include="Control\AwaitScreenControl.resx">
<DependentUpon>AwaitScreenControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Control\BackgroundPanel.resx">
<DependentUpon>BackgroundPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Control\CornerLab.resx">
<DependentUpon>CornerLab.cs</DependentUpon>
</EmbeddedResource>
@@ -279,6 +299,9 @@
<EmbeddedResource Include="Control\Menu_Item.resx">
<DependentUpon>Menu_Item.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Control\Menu_ItemNew.resx">
<DependentUpon>Menu_ItemNew.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Control\ResSelectForm.resx">
<DependentUpon>ResSelectForm.cs</DependentUpon>
</EmbeddedResource>
@@ -345,19 +368,20 @@
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
@@ -365,10 +389,16 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="Config\Log4Net.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ky08m-m3ns7-001.ico" />
<Content Include="logo.ico" />
<Content Include="ms.ico" />
<Content Include="ReadMe.txt" />
<Content Include="Log.txt" />
<None Include="Resources\密码显示.png" />
<None Include="Resources\密码不显示.png" />
<None Include="Resources\default_icon.png" />
<None Include="Resources\登录.png" />
<None Include="Resources\newlogin.png" />
@@ -542,7 +572,7 @@
</PropertyGroup>
<!--添加大内存处理-->
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="&quot;D:\Vs2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\editbin.exe&quot; /largeaddressaware &quot;$(TargetPath)&quot;" />
<Exec Command="&quot;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\editbin.exe&quot; /largeaddressaware &quot;$(TargetPath)&quot;" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
+9 -5
View File
@@ -110,13 +110,17 @@ namespace Lskj.Main.Model
if (isStart)
{
// Delphi数据库连接检查
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection(DBConfig.Instance.dephiConnection))) == 0)
if (!DBConfig.Instance.ServerType.Equals("达梦数据库"))
{
MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]");
SplashForm.HideForm();
RunConfigForm();
return;
if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection(DBConfig.Instance.dephiConnection))) == 0)
{
MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]");
SplashForm.HideForm();
RunConfigForm();
return;
}
}
SplashForm.HideForm();
+12 -7
View File
@@ -214,12 +214,17 @@ namespace Lskj.Main
#region
private static void Register()
{
string exePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Lskj.CallWebLibrary.exe");
using (var key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\lserp"))
try
{
key.SetValue("", "URL:LSERP Protocol");
key.SetValue("URL Protocol", "");
string exePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Lskj.CallWebLibrary.exe");
using (var key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\lserp"))
{
key.SetValue("", "URL:LSERP Protocol");
key.SetValue("URL Protocol", "");
}
using (var key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\lserp\shell\open\command"))
{
key.SetValue("", $"\"{exePath}\" \"%1\"");
}
}
using (var key = Registry.CurrentUser.CreateSubKey(@"Software\Classes\lserp\shell\open\command"))
{
key.SetValu
catch (Exception ex
@@ -460,4 +460,10 @@
<data name="忘记密码" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\忘记密码.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="密码不显示" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\密码不显示.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="密码显示" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\密码显示.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>