我做了一个程序更改类似通量的方式做屏幕的彩色滤光片(所示的代码要做到这一点是最主要的问题在这里).但是,我的几个用户表示它不会影响具有两个或更多显示器的其他屏幕.我该如何修改代码呢?
我很久以前创建了一个软件程序,刚刚打开了项目,当我尝试编译时,它引发了两个错误,参考VBIDE:
警告2找不到类型库"VBIDE"的包装器组件.验证(1)COM组件是否已正确注册,以及(2)目标平台是否与COM组件的位数相同.例如,如果COM组件是32位,则目标平台不能是64位.SonicPhoto
...和:
警告3找不到引用的组件"VBIDE".
问题是 - 我永远不会记得添加此引用,因为我的项目是一个声音导向的程序,VBIDE是"Microsoft Visual Basic for Applications Extensibility 5.3",它与C#无关,更不用说我的程序了.如果我删除引用,解决方案编译并似乎完美运行.我认为如果它运行,我完全可以删除它吗?
也许我错误地添加了这个引用?也就是说,我的软件已经存档较旧,并且引用也在那里,当我知道至少有一个旧软件副本可以编译时,也没有编译.我在另一台计算机上也有一个副本,并且引用也在那里,但引用没有被破坏,因此项目编译并运行.
当我在同一个工具条面板中使用另一个工具条向左拖动工具条(也许只是为了让它在角落里)时,我拖动的那个跳到一个"新"行,好像我把它向下移动了一样.解释起来相当棘手,所以这里有几个图表.
图A:我将工具条向左移动,并且"意外地"向左移动太远(只有几十个像素,用户可以轻松做到).
图B:发生这种情况,拖动的工具条会连续下降.

如何防止这个新行被"创建"?作为最后的手段,我很乐意防止在任何情况下创建新行(例如:如果用户打算将其向下拖动以创建新行).
我尝试过LayoutStyle无济于事.
我之前的帖子显示了如何在RichTextbox中获取水平或垂直滚动条的位置.但是,这些仅在启用滚动条时有效.如果将滚动条设置为无(通过richTextBox1.ScrollBars = RichTextBoxScrollBars.None;),则仍然可以向下滚动框的底部(如果禁用WordWrap则向右滚动).但是,getVerticalScroll()和getHorizontalScroll()方法(如我发布的链接中所示)现在只返回0.他们似乎需要"看到"滚动条才能真正起作用.
那么当滚动条被禁用时,如何获取(并设置)"滚动位置"?
当用户调整程序窗口(Winforms)的大小和位置时,他们希望看到窗口处于相同的位置,即使在关闭并重新打开程序之后也是如此。我所做的就是存储表单的宽度、高度、Location.X 和 Location.Y 属性,并在程序重新打开时将它们设置回来。
问题是当窗口最大化时,宽度、高度、X、Y 不是指非最大化的宽度/高度/X/Y,而是指最大化尺寸。
因此,当用户将窗口最大化,关闭并重新打开程序,然后继续取消最大化窗口时,它不会返回到原始位置/大小,而是停留在完整大小/位置。
那么,在某些事件执行后,如果不使用拼凑来存储变量,如何获取窗口最大化时的非最大化位置和大小呢?
我不认为在StackOverflow上曾经问过这个问题.我正在编写一个C#程序,但这个问题适用于Windows 7下的任何编程语言.
由于我想让我的程序与尽可能多的国家兼容(但手头的时间有限),要测试的十大最常见的语言环境是什么?由于我使用的是C#,因此可以通过以下方式找到:
CultureInfo.CurrentCulture.ToString()
Run Code Online (Sandbox Code Playgroud)
据我所知,这些与下面的项目相对应:控制面板 - >区域和语言 - >格式
一个明智的选择是"英语 - (美国)"(在C#下是"en-US").这只是一个 - 我正在寻找另外5-10左右.
前10名还应包括"多样性".例如,如果他们都使用句点作为小数点,那将不是很有帮助.我还希望至少有一个使用逗号作为小数点(如欧洲,南美,俄罗斯等).
同样,我想要使用'.','/'和' - '作为日期分隔符的语言环境.
所以我原来的问题现在有点复杂,但可能更有用.我想要最常用的语言环境,但是对于多样性有轻微到中等偏见,这样我可以更容易地推广测试,更好地保证它们可以在未经测试的语言环境下工作.
如果将下面的内容粘贴到RichTextBox中,则CJK字符和之后的所有内容将变为第二种字体--SimSun.
插入CJK字符:色
...进行此字体更改.
这会以不需要的方式影响RichTextBox的格式,并且还会大大减慢大型复制/粘贴的速度.
我已经尝试将RichTextBox设置为使用unicode字体,例如"Lucida Sans Unicode",并且还确保我从(Wordpad)复制的源也使用"Lucida Sans Unicode"字体.然而,在一天结束时,当我粘贴到RichTextBox时,它强制使用另一种字体,如SimSun(或其他字体,如"Shonar Bangla"或"Microsoft Himalaya",如果我们使用其他类型的字符).
由于"Lucida Sans Unicode"拥有它们,为什么它不能坚持使用一种字体?
我注意到其他人也有类似的问题: RichTextBox - 保留原始格式(字体),即使在粘贴之后
不幸的是,该页面上的解决方案对我不起作用,因为我仍然发现RTB在CJK字符后使用了另一种字体.
创建一个带双引号的表来逃避真正的双引号似乎在Oracle的SQL语法中不起作用:
CREATE TABLE "MyTable" (
"Col""umn 1" varchar(168)
);
Run Code Online (Sandbox Code Playgroud)
以上失败.有没有办法逃避双引号使'Col'umn 1'?
我正在使用Windows 7和Winforms/C#.
当我将工具条添加到工具条容器时,我在工具条左侧获得3个像素的空间.即使我将位置设置为0,0,它也会将其重置为3,0.这是一张图片来证明这一点:

我怎么能避免这个?我已经将ToolStripContainer的填充和边距设置为0,并尝试使用不同的RenderModes,但似乎没有任何帮助.有任何想法吗?
先澄清一下:
我想要的是一个简单的算法,它最清楚地显示了 2^3.5 = 11.313708。除了基本的加法、减法、乘法或除法运算符之外,最好不要使用任何函数。
代码当然不必很快,也不必很短(尽管这会有所帮助)。别担心,它可以近似于给定的用户指定的准确度(这也应该是算法的一部分)。我希望会有一个二进制印章/搜索类型的事情,因为这很容易理解。
到目前为止,我已经找到了this,但在概念层面上,最重要的答案远非简单易懂。
答案越多越好,因此我可以尝试了解解决问题的不同方法。
我对答案的语言偏好是 C#/C/C++/Java,或者我所关心的伪代码。
我想要我的蛋糕并吃掉它.
当你超越数组的初始容量时,我喜欢C#中Lists的动态扩展方式.但这还不够.我希望能够做到这样的事情:
int[] n = new int[]; // Note how I'm NOT defining how big the array is.
n[5] = 9
Run Code Online (Sandbox Code Playgroud)
是的,速度会有一些牺牲,因为在幕后,.NET需要检查是否已超出默认容量.如果有,则可以将阵列扩展5倍左右.
遗憾的是,对于Lists,你并不是真的想要设置一个任意元素,虽然你可以这样做,但是如果没有初步设置List的大小,仍然无法直接设置say,第五个元素,更不用说让它在尝试时动态扩展.
对于任何解决方案,我希望能够保持简单的方括号语法(而不是使用相对详细的方法调用),并且当它不扩展时,它具有相对快速(最好与标准数组一样快)阵列.
我正在寻找一个多列的数据库,但即使在SQLite的在兆,似乎有点小题大做(除非你使用像它不适用于C#这).我只想要100-500k的代码.这里最好的选择是什么?
C#中的通用字典在某种程度上很有用,但默认情况下,它不允许您从给定值中检索键.同样,我可能有两列以上的数据,即使我使用了一个BiDictionary,其值为类/结构(对于多个值),我需要找到一个n列值的键,然后找到新的o-column值的关键.所以这有点不方便(加上该链接是一个不完整的实现,甚至没有'set'命令).
这是我可能创建的表的一个简单示例(但是我可能有十几列或一千行):
name type colour length
orange a orange 5
apple a green 4
banana c yellow 7
strawberry b red 3
blackberry b black 2
gooseberry b green 2
Run Code Online (Sandbox Code Playgroud)
我想从任何其他值中检索/设置表中的任何值/ s,最好使用LINQ或类似SQL的查询以及快速检索/写入和大数据集(如果可能).
我有一个 (.NET) 程序,它会在 Windows 启动时自动启动。但是,我不希望显示主 GUI 窗口(我会将其隐藏在托盘中)。
但是,我希望当用户从任务栏/快速启动以正常方式打开程序时当然会显示该窗口。
我可以使用什么代码来解决这个问题?
要添加我用来在 Windows 重新启动时加载程序的注册表项,代码如下:
RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rk.SetValue(softwareName, Application.ExecutablePath.ToString());
Run Code Online (Sandbox Code Playgroud) c# ×12
winforms ×3
database ×2
richtextbox ×2
sql ×2
toolstrip ×2
.net ×1
algorithm ×1
arrays ×1
c ×1
c++ ×1
cjk ×1
com ×1
escaping ×1
fonts ×1
forms ×1
gdi ×1
graphics ×1
header ×1
interop ×1
launch ×1
linq ×1
list ×1
locale ×1
margin ×1
maximize ×1
oracle ×1
padding ×1
reference ×1
scroll ×1
scrollbar ×1
startup ×1
system-tray ×1
unicode ×1
winapi ×1
window ×1
windows ×1