小编spa*_*man的帖子

Control.ClientRectangle与Control.DisplayRectangle

我理解客户矩形的关于窗体/控件的概念,
但我不明白有什么区别之间
Control.ClientRectangleControl.DisplayRectangle..

在读取这两个属性的MSDN页面之后,不清楚其中一个属性是否会从另一个属性返回不同的值.

MSDN页面上.ClientRectangle写着:

控件的客户区域是控件的边界,减去非客户端元素,例如:标题栏,边框,滚动条和菜单.

这很清楚.

然而,MSDN页面上.DisplayRectangle写着:

对于基本控件类,这等于客户端矩形.
但是,如果客户端区域与其显示区域不同,则继承控件可能需要更改此设置.

现在还不是那么清楚..在继承控制中,我想让.DisplayRectangle价值与那个不同.ClientRectangle

Control.ClientRectangle:https :
//msdn.microsoft.com/en-us/library/system.windows.forms.control.clientrectangle.aspx

Control.DisplayRectangle:https :
//msdn.microsoft.com/en-us/library/system.windows.forms.control.displayrectangle.aspx

.net c# winforms

13
推荐指数
1
解决办法
6209
查看次数

TimeSpan vs Duration

在阅读Timespan结构和Duration结构的MSDN页面之后,
我必须承认我仍然不确定它们之间有什么区别.

此外,Duration结构包含一个Duration(TimeSpan)Ctor,
使它们更加相似.

那么有人可以告诉我何时应该使用它们?

Timespan结构:https :
//msdn.microsoft.com/en-us/library/system.timespan.aspx

持续时间结构:https :
//msdn.microsoft.com/en-us/library/system.windows.duration.aspx

c# time

6
推荐指数
1
解决办法
1710
查看次数

使用FFMPEG以最小的重新编码添加覆盖

FFMPEG对于剪切视频的一部分非常有用,而无需重新编码视频。

我知道也可以使用FFMPEG 在视频的特定部分(例如,从10秒到20秒)向视频添加叠加图像

我的问题是:如果我对图像进行覆盖,是否会因此而对整个视频重新编码?还是只是相关的持续时间会被编码?

还有什么我可以用来使重新编码最少的选项?
目的当然是保持视频质量像原始视频一样。.
(我根本不要求重新编码,但我不知道这怎么可能...)

谢谢

video ffmpeg video-editing

5
推荐指数
1
解决办法
1812
查看次数

单击文本框时,如何给它焦点但不更改其中的光标位置

我为它创建了一个事件处理程序Textbox.Enter event,它选择文本框中的部分文本,如下所示:
TextBox1.Select(3,5);

结果如下:

当通过经由键盘输入文本框[TAB][SHIFT] - [Tab]键,
需要被选择的文本的所述部分被选择好,就像在上面的屏幕截图.

但是,如果不是通过键盘而是通过鼠标输入文本框,
则不会选择任何内容:

似乎发生的事情是这样的:

当我们用鼠标进入文本框时,
点击确实会提升Enter event,但鼠标点击还会将光标的位置设置为文本框内用户用鼠标单击的位置.
并且在运行事件处理程序之后立即执行此光标设置.

所以这意味着,事件处理程序执行的选择(使用该TextBox1.Select(3,5);行)被鼠标的位置覆盖,
这就是为什么用鼠标进入文本框,似乎没有选择任何东西.

我的问题:

如何让鼠标确实抬起Enter event,而不是更改文本框内的光标位置?
因此,我将能够保留我的选择(在代码中发生)并且不会被覆盖.

编辑:
这样做的目的是为了能够轻松选择MM:SS部分时间,这通常是正在编辑的部分(HH或mmm部分很少更改).

.net c# winforms

5
推荐指数
1
解决办法
583
查看次数

如何创建这样的任务面板?

在 Visual Studio 2008 中,
如果创建一个窗体并在其上放置一个控件,则
可以通过“属性”窗口编辑控件的属性。


除了“属性”窗口之外,某些控件还可以通过其他方式更改其属性。

它看起来像这样:

似乎所有具有此窗格的控件都具有相同的样式,
这意味着它是由 Visual Studio 提供
的,控件的制造商只是选择要包含在其中的项目,
例如字段和可打开一些链接的可点击链接视窗。

所以我的问题是:
这个窗格控件的名称是什么,
我如何创建一个?

.net c# visual-studio-2008 windows-forms-designer winforms

5
推荐指数
1
解决办法
618
查看次数

是我们可以在.NET中安全完成的核心亲缘关系吗?

我在StackOverflow中查看了有关
在.NET中实现线程的核心亲和力的信息。

一些答案说.NET不支持它自己的(托管)线程,
而仅支持操作系统上运行的非托管线程。

另一方面,在其他答案中,请提及以下属性:
- ProcessThread.IdealProcessor 链接
- ProcessThread.ProcessorAffinity 链接

可以看出,这两个属性不是Thread类的属性,而是ProcessThread类的属性。

因此,我想问一问:
如果有人正在创建.NET应用程序,
并且想为其应用程序的线程设置Core亲缘关系,那么
在.NET托管线程上这样做是否安全且受支持?

(如果是,那么我想知道为什么这两个属性在ProcessThread类上公开
而不在Thread类上公开?)

PS:我使用的是.NET Framework v3.5和v2.0,
而不是框架的较新版本。

.net c# multithreading affinity cpu-cores

4
推荐指数
2
解决办法
546
查看次数

如何在表格中获取客户区的起始位置,相对于表格的左上角?

如果我创建一个Form,大小=(300,300),
那么它的.ClientRectangle属性返回{ X = 0,Y = 0,Width = 292,Height = 266}

从我们收到的矩形,似乎我们得到了Size客户区域,但不是Location它相对于表单的左上角(标题栏和边框上方)开始的内容.

X和Y值始终为0,0,
但我们知道Form的左上角和客户区之间存在偏移..
(因为有标题栏,并且形成边框)
所以我怎么能得到它的实际起点?

转到Control的属性,我找不到一个,
如上所述,.ClientRectangle属性的X,Y部分总是返回0,0 ..

我问这个的原因是因为如果你想使用这个Control.DrawToBitmap()方法,
那么你需要为它提供一些大小的Bitmap对象.
如果您创建大小为的位图Form.Size,则可以捕获整个表单.

它看起来像这样:

但是如果你只想捕获表单的客户区,
那么你可以创建一个size = Form.ClientRectangle的Bitmap对象,
但是你需要知道客户端矩形在哪个点开始..
否则,你的捕获会看起来像这样:

可以看出,它确实在客户区的大小,但它不是从正确的位置开始..

因此,当想要仅捕获表单的客户区时,我们需要知道客户区开始的位置,相对于表的实际起点
(左上角,边界角,标题栏正上方)

.net c# winforms

2
推荐指数
1
解决办法
781
查看次数

如何将 ASP.NET Core 的内置 Web 服务器(Kestrel)默认 IP 绑定从 127.0.0.1 更改为 0.0.0.0?

我安装.NET Core SDK v3.1在 Ubuntu VPS 上,
现在正在试验ASP.NET Core项目。


dotnet new webapp -o <ProjectName> --no-https
用来创建一个 ASP.NET Core 项目,

dotnet run
使用 .NET Core 的内置 Web 服务器来运行它。

我有一个小问题,即 .NET Core 的内置 Web 服务器绑定到 IP 127.0.0.1(本地主机),
而不是绑定到我的 VPS 的公共 IP。

这意味着我无法从远程计算机上的浏览器连接到我的 ASP.NET Core 项目,只能从该 VPS 上的浏览​​器连接。

如果绑定到127.0.0.1Web 服务器而不是绑定到0.0.0.0
那么它会很好,因为0.0.0.0意味着“所有网络接口”,而不仅仅是本地主机 IP。

在谷歌搜索后,人们建议去项目的文件夹,
然后进入属性文件夹,
在那里,编辑一个名为launchSettings.json.

在该文件中,我们需要改变:
"applicationUrl": "http://localhost:5000"

"applicationUrl": "http://0.0.0.0:5000"

这样做并重新运行项目后,问题解决了,
我可以从远程计算机连接到Web服务器。

所以这个解决方案有效,
但我有一个问题:
它需要编辑每个项目的launchSettings.json文件。 …

kestrel-http-server asp.net-core

2
推荐指数
1
解决办法
3355
查看次数

document.querySelector() 能否根据 SRC 文件名(而不是完整 URL)查找 IMG 元素?

我目前正在使用在当前页面上document.querySelector()查找IMG元素,
通过提供该元素的SRC属性值IMG元素元素。

例如,我使用这一行:

var E =document.querySelector("img[src='https://images.website.com/folder1/folder2/12345.gif']");
Run Code Online (Sandbox Code Playgroud)

可以看出,在此示例中,我拥有在Attribute 中指定的图像的完整 URLSRC
并将该完整 URL 提供给document.querySelector().

我现在需要稍微改进一下:

在某些情况下,我只知道 Image 的File Name
而 URL 的 Folders 部分可能会更改,我不知道。

所以我的问题是: 当我只知道图像 URL 的 FileName 部分时,我
可以document.querySelector()用来IMG在当前页面上查找元素
吗?

在上面的例子中,这意味着我有“12345.gif”,
但我不知道文件夹 1、文件夹 2 的名称。

javascript dom jquery-selectors

1
推荐指数
1
解决办法
359
查看次数