mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
個人BLOG
it developer
DotNET

c# winform适配高dpi

1)添加app.manifest文件 改文件创建后的路径 > "myproj\Properties\app.manifest" 方法1 打开vs2005、vs2008等工程,在【解决方案资源管理器】里查看是否有app.manifest这个文件,如果没有的话,通过以下方法创建: 方法1: 1、在【解决方案资源管理器】右键工程名称选择属性; 2、在弹出的该对话框中,选择【安全性】选项卡。 3、勾选【启用ClickOnce安全设置】,并选中【这是完全可信的应用程序】。 4、保存工程,这时候app.manifest就自动创建了。 方法2 为工程项目添加一个类,应用程序清单文件(app.manifest)。 高 DPI 支持 - Windows Forms .NET Framework | Microsoft Learn 仅在以 .NET Framework 4.7 为目标并在从 Windows 10 创意者更新开始的 Windows 操作系统上运行的应用程序中提供支持高 DPI 感知的新 Windows 窗体功能。 此外,若要在 Windows 窗体应用程序中配置高 DPI 支持,必须执行以下操作: 声明与 Windows 10 的兼容性。为此,请将以下内容添加到清单文件: XML <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- Windows 10 compatibility --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> </application> </compatibility> プロジェクトにアプリケーションマニフェストファイルapp.manifestを追加し、下記の設定を記入します。 この設定でWindowsが高DPIサポート済と認識してくれるので、表示がぼやけることが無くなります。 <application xmlns="urn:schemas-microsoft-com:asm.v3"> <windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware> </windowsSettings> </application> 在 app.config 文件中启用每监视器 DPI 感知。Windows 窗体引入了一个新的 <System.Windows.Forms.ApplicationConfigurationSection> 元素,用于支持从 .NET Framework 4.7 开始添加的新增功能和自定义项。 若要利用支持高 DPI 的新功能,请将以下内容添加到应用程序配置文件。 XML <configuration> <!-- ... other xml settings ... --> <System.Windows.Forms.ApplicationConfigurationSection> <add key="DpiAwareness" value="PerMonitorV2" /> </System.Windows.Forms.ApplicationConfigurationSection> </configuration>   最后设置指定容器模式为dpi this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 注意form中控件字体也可能导致ui崩溃

2025-04-28 0comments 54hotness 0likes mikebai Read all
dev

com.microsoft.sqlserver.jdbc.SQLServerException “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server建立安全连接

from: https://support.hcl-software.com/csm?id=kb_article&sysparm_article=KB0100819   适用于 HCL Traveler 11.0.x, 12.0.x 问题 使用JDBC 10.2 及以后的版本,当运行travelerUtil命令连接到SQL server时,将遇到如下错误: Using JDBC jar: C:\Domino\Traveler\lib\mssql-jdbc-10.2.0.jre8.jar Checking database connection to: jdbc:sqlserver://<sqlserver hostname>:<db port>;databasename=<traveler db name> Unable to connect to database: Unable to connect to database: 驱动程序无法使用安全套接层 (SSL) 加密建立与 SQL Server 的安全连接。错误: "sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:3271aef9-fd8c-4387-8c3d-250ac909ab3b Database configuration was not saved. 原因 这是因为从JDBC 10.2开始,缺省启用了TLS加密,请参考下面的说明了解详细信息: https://docs.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver15#changes-in-102 解决方法 解决方法: 对于 Traveler 11.0.x,使用JDBC driver(mssql-jdbc-8.2.2.jre8.jar),参考帮助文档: https://help.hcl-software.com/traveler/11.0.0/configurelotusnotestravelerfordb2.html 对于Traveler 12.0.x,  使用JDBC driver(mssql-jdbc-9.2.1.jre8.jar),参考帮助文档: https://help.hcl-software.com/traveler/12.0.0/configurelotusnotestravelerfordb2.html 也可以在使用travelerUtil命令连接到SQL server时,添加参数 ";encrypt=false" 作为workaround, 举例如下: travelerUtil db set url=jdbc:sqlserver://<sqlserver hostname>:<db port>;databasename=<traveler db name>;encrypt=false user=<db login user> pw=<db login password>

2025-04-12 0comments 96hotness 0likes mikebai Read all
dev

java -cp 用法介绍

from: https://blog.csdn.net/shixiaoguo90/article/details/50607716?utm_source=pocket_saves   平时都用eclipse执行java程序惯了,今天想在dos下开两个界面看一下程序的消息交互,居然都不会用了,进入class文件所在目录, 执行java  SocketServer1 老是报class not found 错误,最后一问需要加java -cp 等参数, 汗颜啦!!   -cp 参数后面是类路径,是指定给解释器到哪里找到你的.class文件, 写法: java -cp .;myClass.jar packname.mainclassname classpath中的jar文件能使用通配符,如果是多个jar文件,要一个一个地罗列出来,从某种意义上说jar文件也就是路径。 要指定各个JAR文件具体的存放路径,相同路径有多个可使用通配符 java -cp .;c:\classes\myClass.jar;d:\classes\*.jar packname.mainclassname 例如,calss文件在D:\workspace\Test\src\sockettest 目录下,然后class文件在sockettest 这个package下 进入这个目录 D:\workspace\Test\src\sockettest>java -cp ../  sockettest.SocketServer1 如果是进入父目录即 D:\workspace\Test\src 需要使用D:\workspace\Test\src>java -cp .  sockettest.SocketServer1 命令执行 java -cp java的cp命令 java -cp .;c:\dir1\lib.jar Test -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;” 分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包,用一点“.”代表当前路径。 使用范例: java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb 或 java -cp ../lib/hsqldb.jar org.hsqldb.Server -databa java -cp .;c:\dir1\lib.jar Test -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;” 分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包,用一点“.”代表当前路径。 使用范例: java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb 或 java -cp ../lib/hsqldb.jar org.hsqldb.Server -databa se.0 mydb -dbname.0 mydb 拷贝自ITEYE网站(留待笔记用)。 以下是两个启动脚本: 1.linux系统:  java -Dfile.encoding=GBK -cp .:../classes:../locale:../lis.jar:../lib/jcifs-1.2.17.jar:../lib/xalan.jar:../lib/xerces.jar:../lib/xercesImpl.jar:../lib/xmltransform.jar:../lib/xml-apis.jar:../lib/bsf.jar:../lib/bsh-1.2b7.jar:../lib/dbswing.jar:../lib/ifxjdbc.jar:../lib/jakarta-regexp-1.2.jar:../lib/jaxp.jar:../lib/jbcl.jar:../lib/jdbc2_0-stdext.jar:../lib/jdom.jar:../lib/jta-spec1_0_1.jar:../lib/Log4j.jar:../lib/mm.mysql-2.0.13-bin.jar:../lib/New_F1J9Swing.jar:../lib/New_Xalan.jar:../lib/oracle.jar:../lib/servlet.jar:../lib/Sprinta.jar:../lib/true_xalan.jar:../lib/commons-pool-1.2.jar:../lib/commons-dbcp-1.2.1.jar:../lib/commons-collections-3.1.jar:../lib/servlet-api.jar com.sinosoft.lis.tb.bpo.BPOServerStart compupacific 10 2.windows系统:  java -classpath .; com.nci.utility.FileDispatcher FileDispatcher_parken.properties java -cp classpath Specify a list of directories, JAR archives, and ZIP archives to  search  for  class  files.  Class  path entries  are separated by colons (:). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable. As a special convenience, a class path element containing a basename of  * is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR (a java program  cannot  tell the difference between the two invocations). For  example,  if directory foo contains a.jar and b.JAR, then the class path element foo/* is expanded to a A.jar:b.JAR, except that the order of jar files is unspecified. All jar files in  the  specified  directory, even  hidden  ones,  are included in the list. A classpath entry consisting simply of * expands to a list of all the jar files in the current directory. The CLASSPATH environment variable, where defined, will be simi-larly  expanded.  Any  classpath  wildcard expansion occurs before the…

2025-04-11 0comments 75hotness 0likes mikebai Read all
dev

HTML 容器元素

行内/块级/行内快元素 文本级标签:p , span , a , b , i , u , em 容器级标签:div , h1~h6 , li , dt ,dd p:里面只能放文字和图片和表单元素,p里面不能放h和ul,也不能放p。 块级元素 霸占一行,不能与其他任何元素并列。 能接受宽高,如果不设置宽度,那么宽度将默认变为父级的100% 所有的容器级标签,都是块级元素,以及p标签。 容器级标签:div , h1~h6 , li , dt ,dd 文本级标签:p 行内元素 与其他行内元素并排 不能设置宽高,默认的宽度就是文字的宽度 除了p之外,所有的文本级标签,都是行内元素。p是个文本级标签,但是是个块级元素。 文本级标签: span , a , b , i , u , em 块级转行内 我们可以通过display属性将块级元素(比如div)和行内元素进行相互转换。 display:inline; 那么这个标签将变为行内元素,即: 1,此时这个div将不能设置宽度和高度了。 2,此时这个div可以和其他行内元素并排了。 行内转块级 display:block; 那么这个标签将变为块级标签,即: 1,此时这个span能够设置宽度,高度。 2,此时这个span必须独占一行,其他元素无法与之并排。 3,如果不设置宽度,将占满父级。 行内快元素 display:inline-block; 和相邻行内元素在同一行,但是之间会有空白缝隙。 默认宽度是他本身内容的宽度。 宽度、高度、行高、外边距以及内边距都可以手动设置。 作者:啧啧泽 链接:https://juejin.cn/post/7063716262278496264 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2025-02-26 0comments 114hotness 0likes mikebai Read all
DotNET

MVC的cshtml的介绍

cshtml 是 MVC3 之后新增的视图文件,跟原先的 aspx 很相似。 区别主要在于二者的解释引擎不同。aspx 采用的是 WebForm Engine,而 cshtml 则是 Razor Rendering Engine。引擎的变化直接导致语法发生变化。aspx 中我们经常使用 <% test; %>这种,在 cshtml 中则改为 @{ test; } 这种更为简洁的写法。 只能在 MVC3 或更高版本等支持 Razor 的框架里使用 cshtml。 比较: ASPX文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP 使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET则可以使用多种语言编写,而且是全编译执行的,比ASP 快,而且,不仅仅是快的问题,有很多优点。.asp是asp的文件后缀名,.aspx是asp.net的文件后缀名。 Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。Razor 语法赋予所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。 从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。使用 Razor 语法的 ASP.NET 网页拥有特殊的文件扩展名 cshtml(使用 C# 的 Razor 语法)或者 vbhtml(使用 VB 的 Razor语法)

2025-02-13 0comments 108hotness 0likes mikebai Read all
dev

PHP根据语言切换页面

<?php $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); //print $lang; switch($lang) { case "zh": $url = 'cn/index.html';     break; case "ja": $url = 'jp/index.html';     break; case "en": $url = 'en/index.html';     break; default: $url = 'en/index.html';     break; } header("location: " . $url); ?>

2024-09-06 0comments 401hotness 0likes mikebai Read all
dev

apache2 多域名/多网站设置

/etc/apache2/apache2.conf 添加以下段落 <VirtualHost *:80> ServerName jpfocus.com ServerAlias www.jpfocus.com DocumentRoot /var/www/html/focusdict </VirtualHost> <VirtualHost *:80> ServerName mikebai.com ServerAlias www.mikebai.com DocumentRoot /var/www/html </VirtualHost>  

2024-09-06 0comments 270hotness 1likes mikebai Read all
dev

UbuntuのApache設定ファイル

https://note.com/ictlink/n/nc494c4242bcb こんにちは。ICTLINKの大野です。 今回はubuntuに関する内容になります。 Linuxでサーバーを触る際にOSはCentOSだったり、ubuntuでもWebサーバーはNginxを使ったりと今まで意外とubuntu+Apacheの組み合わせがなかったのですが、最近、ubuntu+Apacheで設定ファイルを触る機会があり、あれ?となったのでその仕組みを記載してみたいと思います。 まず、CentOSとubuntuの大きな違いですが、Apacheの設定ファイルやコマンドは、CentOSではhttpdですが、ubuntuではapache2となります。 ですので設定ファイルディレクトリは、CentOSは /etc/httpdとなり、ubuntuでは /etc/apache2となります。 ここからはubuntuの説明となります。 設定ファイルの本体は以下になります。 /etc/apache2/apache2.conf このファイルには以下のような記載があります。 IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf この記載により、 -enabled内の.confや.loadファイルが全て読み込まれるようになっています。 Debian系では本体の設定ファイルはいじらないという方針のようです。 apache2ファルダには下記のファルダがあり、 前述したように、〇〇-enabledというフォルダ内にあるファイルが読み込ま れるようになっているのですが、〇〇-enabledは全て〇〇-available内のファイルへのシンボリックリンクになっています。 複雑ですね、、、 そのため、実際の設定ファイルは〇〇-availableにあるということになります。 〇〇-available内に設定ファイルを作成して、設定を有効にする場合はシンボリックリンクを作成し、 無効にする場合はシンボリックリンクを削除することで設定を有効にしたり無効にしたりすることができます。 そのためのコマンドが下記になります。 例えば、 下記コマンドでconf-available内にtest.confを作成します。 # vi /etc/apache2/conf-available/test.conf シンボリックリンクを作成する下記コマンドを実行します。 # a2enconf test 実行すると、 /etc/apache2/conf-enabled内にtest.conf が作成されます。 このファイルは/etc/apache2/conf-available/test.confへのシンボリックリンクになっています。 これでtest.confが読み込まれるようになります。 設定を反映させるにはApacheを再起動してください。 # systemctl restart apache2 削除するには下記コマンドを実行します。 # a2disconf test /etc/apache2/conf-enabled/test.confが削除されました。 では、お読みいただきありがとうございました!!

2024-09-06 0comments 281hotness 0likes mikebai Read all
M365

禁用vscode mouse over tips

https://mitsuyawatanabe.medium.com/how-to-remove-tooltip-which-appears-when-mouse-over-on-code-in-visual-studio-code-bac46e46eb89 Have you ever been irritated by tooltip assistant in Visual Studio Code editor? Every time I hover on a certain code, the tooltip appears. Tooltip in vscode The information would sometimes be effective but if too many times it appears, which pisses me off. I found how to delete the tooltip from vscode. It’s a quite simple. Just add following code in settings.json in .vscode folder

2022-01-25 0comments 257hotness 1likes mikebai Read all
M365

aad-joined pc 如何远程链接rdp

rdp对象机设置 > 使用ps将aad user 添加到remote许可组                   Get-LocalGroupMember -Group “Remote Desktop Users”                  Add-LocalGroupMember -Group “Remote Desktop Users” -Member "AzureAD\usr" # 不需要带着upn域名,以C:\Users下用户文件夹名为准                  Get-LocalGroupMember -Group “Remote Desktop Users”                  cmd                   net localgroup "Remote Desktop Users" /add "AzureAD\usr"                  where the-UPN-attribute-of-your-user is the name of the user profile in C:\Users, which is created based on the DisplayName attribute in Azure AD.                rdp对象机设置 > 其他    https://www.niallbrady.com/2017/08/23/how-can-i-rdp-to-an-azure-ad-joined-windows-10-device/     pc > 系统属性 > 远程 > 取消勾选[仅允许运行使用网络别身份验证的远程桌面的计算机连接]   要rpd的物理机设置   添加以下2行    enablecredsspsupport:i:0   authentication level:i:2  进行rdp    输入pcname   不要输入用户名,直接点 连接 按钮 弹出的login页面中输入     AzureAD\usr@domain.com 以上

2022-01-12 0comments 286hotness 1likes mikebai Read all
12345…62

Recent Posts

  • c# winform适配高dpi
  • com.microsoft.sqlserver.jdbc.SQLServerException “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server建立安全连接
  • java -cp 用法介绍
  • HTML 容器元素
  • MVC的cshtml的介绍

Recent Comments

No comments to show.

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang