我在C#中创建了一个简单的Winforms应用程序.当我在具有高DPI设置(例如150%)的计算机上运行应用程序时,应用程序会按比例放大.到现在为止还挺好!但是,不是使用更高的字体大小渲染字体,所有文本也只是按比例放大.这当然导致非常模糊的文本(在按钮等所有控件上).
窗户不应该正确地渲染文本吗?例如,我的应用程序的标题栏呈现清晰明了.
我在C#中有一个表单应用程序.当我更改显示器的DPI时,所有控件都会移动.我使用了代码this.AutoScaleMode = AutoScaleMode.Dpi
,但它没有避免这个问题.
有没有人有想法?
如何配置click-once以便为所有用户安装应用程序.在另一个论坛上,我得"使用MSI" - 谢谢 - 但是如何.此外,第一个安装用户可能不是管理员 - 这可能是一个问题.我希望所有用户都能触发更新检查.没有本地存储,它是WCF服务的WPF客户端.
我们是XP,内部.
是否可以使用函数的返回值而不是特定值作为函数中的可选参数?例如,而不是:
public void ExampleMethod(int a, int b, int c=10)
{
}
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西
private int ChangeC(int a, int b)
{
return a+b;
}
public void ExampleMethod(int a, int b, int c=ChangeC(a,b))
{
}
Run Code Online (Sandbox Code Playgroud) 我知道如何迁移具有以下结构的 SVN 存储库
SVN Repo1
+ trunk
+ branches
+ tags
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令
git svn clone svn://hostname/Repo1/ --prefix=svn/ --no-metadata --authors-file "authors-transform.txt" --stdlayout c:\mytempdir
Run Code Online (Sandbox Code Playgroud)
请参阅https://learn.microsoft.com/en-us/azure/devops/repos/git/perform-migration-from-svn-to-git和/sf/answers/278047241/。
但是当我的 SVN 存储库具有以下结构时
SVN Repo2
+ Project1
+ trunk
+ branches
+ tags
+ Project2
+ trunk
+ Project1 <-- external to ^/Project1/trunk
+ branches
+ tags
+ Project3
+ trunk
+ Project1 <-- external to ^/Project1/trunk
+ branches
+ tags
Run Code Online (Sandbox Code Playgroud)
我不知道如何将其转换为 git。
我应该将每个项目迁移到 吗Repo2
?在这种情况下,svn 外部会丢失。或者有什么办法可以让这个洞迁移Repo2
吗?
备注:SVN 客户端用户只是签出Project2 …
我有一台带有 128 GB RAM 的 64 位 PC,我使用的是 C# 和 .NET 4.5。我有以下代码:
double[,] m1 = new double[65535, 65535];
long l1 = m1.LongLength;
double[,] m2 = new double[65536, 65536]; // Array dimensions exceeded supported range
long l2 = m2.LongLength;
Run Code Online (Sandbox Code Playgroud)
我知道<gcAllowVeryLargeObjects enabled="true" />
并且我已将其设置为 true。
为什么多维数组不能有超过 4294967295 个元素?我看到以下答案/sf/answers/163715821/。
我还检查了gcAllowVeryLargeObjects的文档,我看到了以下评论。
数组中的最大元素数为UInt32.MaxValue (4294967295)。
我不明白为什么有这个限制?有解决方法吗?是否计划在即将发布的 .net 版本中删除此限制?
我需要内存中的元素,因为我想计算例如使用英特尔 MKL 的对称特征值分解。
[DllImport("custom_mkl", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true, SetLastError = false)]
internal static extern lapack_int LAPACKE_dsyevd(
int matrix_layout, char jobz, …
Run Code Online (Sandbox Code Playgroud) c# arrays multidimensional-array .net-4.5 gcallowverylargeobjects
我有一个包含datgridview的Windows窗体应用程序.我需要在datagridview单元格上强制执行单元格验证,以便它不接受负值.我从msdn库中找到了合适的代码.
private void dataGridView1_CellValidating(object sender,
DataGridViewCellValidatingEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = "";
int newInteger;
// Don't try to validate the 'new row' until finished
// editing since there
// is not any point in validating its initial value.
if (dataGridView1.Rows[e.RowIndex].IsNewRow) { return; }
if (!int.TryParse(e.FormattedValue.ToString(),
out newInteger) || newInteger < 0)
{
e.Cancel = true;
dataGridView1.Rows[e.RowIndex].ErrorText = "the value must be a Positive integer";
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,代码只允许在datagridview中输入整数.由于我的列名称为"项目名称",应该作为文本输入,因此代码中存在问题.当我输入项目名称时,它会生成一条错误消息.其余的单元格验证完全正常工作!我该怎么编辑代码,以免它产生这个错误?
提前致谢
Mirfath
我是git的新手,我现在想离开subversion svn并使用git.是否有任何方法可以将svn移动到git,其所有svn外部与tortoisegit.我尝试过git clone功能,但它不起作用.谢谢.
我有一个长期运行的 c# 应用程序,我正在 Visual Studio 2017 社区版中对其进行分析。在我停止分析(和应用程序)以查看 CPU 使用率之前运行大约 2/3 小时。但是我可以看到,当它构建报告时,内存使用量增加了 3GB,然后抛出内存不足异常。
Profiling started.
Profiling process ID 7312 (test).
Starting data collection. The output file is C:\Users\jamie\Source\Repos\test(1).vspx
Profiler stopping.
Stopping data collection.
Merging collection data. Please wait...
Data is saved in file C:\Users\jamie\Source\Repos\test(1).vspx
Profiling finished.
Exception of type 'System.OutOfMemoryException' was thrown.
Run Code Online (Sandbox Code Playgroud)
有什么我可以做的来解决这个问题还是我只需要获得更多的内存?
奇怪的是,当它抛出这个时,我机器上的总内存使用量约为 65%,因此它甚至没有使用我所有的内存来构建分析报告。
这是 VS 的全新安装,它具有所有默认设置。
我有以下 C# 代码,它使用 SaveFileDialog并将AddExtension属性设置为true
:
var dialog = new SaveFileDialog();
dialog.AddExtension = true;
dialog.DefaultExt = "txt";
dialog.Filter = "Text files (*.txt)|*.txt|XML files (*.xml)|*.xml";
dialog.OverwritePrompt = true;
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
label1.Text = dialog.FileName;
}
Run Code Online (Sandbox Code Playgroud)
我已经测试了对话框的以下File name
组合Save as type
。
File name | Save as type | label1.Text | What I expect
----------------+----------------+----------------+----------------
test1 | *.txt | test1.txt | test1.txt
test2.txt | *.txt | test2.txt | test2.txt
test3.abc | *.txt | test3.abc.txt | …
Run Code Online (Sandbox Code Playgroud) c# ×7
.net ×2
dpi ×2
dpi-aware ×2
git ×2
svn ×2
.net-4.5 ×1
arrays ×1
clickonce ×1
datagridview ×1
fonts ×1
git-svn ×1
mono ×1
performance ×1
profiling ×1
tortoisegit ×1
validation ×1
windows ×1
winforms ×1