在VS.NET 2015中使用WinForm项目时,我们的团队已经注意到仅仅在设计器视图中打开.VB表单的行为(在解决方案资源管理器中双击文件时的默认操作)将导致VS修改许多实际.VB代码隐藏的"Windows窗体设计器生成代码"部分中的对象属性.对于有时数十个或更多的UI对象,它似乎仅限于.size和.Location属性,总是稍微改变它们的X,Y坐标.
请注意,我们不执行任何操作来驱动它 - 只需在解决方案资源管理器中双击该文件,在VS.NET的表单设计器中打开文件(从源代码控制获取并驻留在本地解决方案/项目中),然后bam - 它有"未保存的"星号,如果你保存并与源代码控制版本进行比较,你可以看到已经进行的修改.
我在这方面找不到多少.这是一种已知行为吗?知道为什么会这样吗?有点让我想起过去的MS FrontPage的设计师视图,甚至是VS的早期版本,如果你在设计师视图中打开一个WebForm,它会应用一些HTML更改,直到他们提供了禁用它的选项.稍后发布.
感谢任何输入.
更新:即使我自己是设计师中.VB形式的唯一编辑,这似乎仍在继续.各种形式元素正在轻微地改变它们的位置.这是我上次登记和今天之间的差异截图,我知道我是唯一一个编辑:
......有很多这样的人.总是这两个属性,总是只有几个像素的差异.
我有一个简单的.EXE控制台应用程序,通过Visual Studio 2008用C#编写.如何指定.EXE的版本号?我想在程序更新时手动更新它.我不想使用"发布向导"(它支持发布版本属性),因为它创建了一个setup.exe,并且对我们的简单应用程序(我们通过XCOPY进行部署)过度了.
谢谢,亚光
我发现了一个 GitHub 问题,显示如何通过将其 ExifProfile 设置为 null 来删除图像的 exif 数据:
SixLabors.ImageSharp.Image image = Image.Load(imagePath);
//remove exif
image.Metadata.ExifProfile = null;
//resize
image.Mutate(x => x.Resize(width, height));
//save
SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder encoder = new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder();
encoder.Quality = 30;
image.Save(thumbnailPath, encoder);
Run Code Online (Sandbox Code Playgroud)
...但它似乎对我不起作用——保存的 jpeg 大小相同,当我的操作系统检查时,它们向我显示相机的所有 EXIF 设置。当我对从另一个实用程序创建的图像进行相同的检查时,操作系统不会向我显示所有 EXIF 设置......所以我倾向于说这种 ImageSharp 技术没有正确地擦除它们。
任何想法?
我们的应用程序使用字符串来存放用于指示枚举值的字符值.例如,用于对齐表格中的单元格的枚举:
enum CellAlignment
{
Left = 1,
Center = 2,
Right = 3
}
Run Code Online (Sandbox Code Playgroud)
和用于表示5列表的对齐的字符串:"12312".是否有一种快速的方法来使用LINQ将此字符串转换为CellAlignment[] cellAlignments?
这就是我所使用的:
//convert string into character array
char[] cCellAligns = "12312".ToCharArray();
int itemCount = cCellAligns.Count();
int[] iCellAlignments = new int[itemCount];
//loop thru char array to populate corresponding int array
int i;
for (i = 0; i <= itemCount - 1; i++)
iCellAlignments[i] = Int32.Parse(cCellAligns[i].ToString());
//convert int array to enum array
CellAlignment[] cellAlignments = iCellAlignments.Cast<CellAlignment>().Select(foo => foo).ToArray();
Run Code Online (Sandbox Code Playgroud)
...我试过这个,但它说指定的演员无效:
CellAlignment[] cellAlignmentsX = cCellAligns.Cast<CellAlignment>().Select(foo …Run Code Online (Sandbox Code Playgroud) 什么是最简单的String.Format模板来格式化一个千位分隔符(逗号)并且没有小数位的整数?美国文化.所需格式的示例:
1200 = 1,200
900 = 900
8 = 8
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在编写代码以在指定的时间后终止特定进程。我正在使用以下代码(简化为发布):
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Name, CreationDate FROM Win32_Process WHERE Name = 'foo'");
foreach (ManagementObject process in searcher.Get())
{
process.InvokeMethod("Terminate", null);
}
Run Code Online (Sandbox Code Playgroud)
问题- SELECT Name, CreationDate尝试执行终止操作时使用WQL语句引发异常:
"Operation is not valid due to the current state of the object."
Run Code Online (Sandbox Code Playgroud)
...但是,使用会SELECT *终止该过程。这是为什么-结果集中是否需要特定的WMI列?
谢谢!
我在SQL Server 2014中有一个使用此模式的表:
OccuredDate (date) TypeID (int)
2014-1-1 1
2014-1-2 1
2014-2-5 4
2015-5-23 2
2015-6-3 3
Run Code Online (Sandbox Code Playgroud)
...它有数千行由日期和类型ID组成,跨越多年.
因此,我可以将其绘制到图表组件,我正在尝试构建一个查询,在给定年份1)每月返回一行2)计算给定TypeID的TypeID实例的总数.图表组件更喜欢列类型计数.
所以对于"2014",它看起来像这样:
MonthDate TypeOne TypeTwo TypeThree TypeFour
2014-1-1 2 0 0 0
2014-2-1 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
要么:
Year Month TypeOne TypeTwo TypeThree TypeFour
2014 Jan 2 0 0 0
2014 Feb 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
花了大半夜的时间,但没有运气.是否有一些黑暗的SQL魔法可以做到这一点?
谢谢!
.net ×2
c# ×2
.net-core ×1
exif ×1
imagesharp ×1
linq ×1
sql ×1
sql-server ×1
vb.net ×1
versioning ×1
winforms ×1
wmi ×1
wql ×1