gpt4 book ai didi

c# - 拖放效果.滚动 : why -2147483648 not 8?

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:53 24 4
gpt4 key购买 nike

System.Windows.Forms 中的标准枚举:

[Flags]
public enum DragDropEffects
{
Scroll = -2147483648,
//
// Summary:
// The combination of the System.Windows.DragDropEffects.Copy, System.Windows.Forms.DragDropEffects.Link,
// System.Windows.Forms.DragDropEffects.Move, and System.Windows.Forms.DragDropEffects.Scroll
// effects.
All = -2147483645,
None = 0,
Copy = 1,
Move = 2,
Link = 4,
}

Scroll 的值很奇怪,你不觉得吗?

据我了解,这些值均来自 "the old times" of COM\OLE DROPEFFECT ......但是为什么他们首先被选中呢?作者是否尝试为某些东西保留 8 和 0x80000000 之间的间隔?它是否有用,或者它背后有一个有趣的故事,或者它只是 YAGNI 原理的另一个长期存在的例证?

最佳答案

这是一个状态标志,与主要的掉落效果(复制/移动/链接)分开。除了为 future 的下降效果留出空间外,选择高位可以使用一些技巧,例如检查值是否为负。与 HRESULT 或 GetAsyncKeyState 返回值的想法相同。

关于c# - 拖放效果.滚动 : why -2147483648 not 8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3702066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com