最近我发现了一个基于色调和亮度值的.NET颜色表.让我震惊的是疯狂的灰度图表.例如,DarkGray实际上比Gray更轻?另外,我在rgb值的渐变中看不到任何逻辑,它从0到105到128?
0 : Black
105 : DimGray
128 : Gray
169 : DarkGray!
192 : Silver
211 : LightGray
220 : Gainsboro
245 : Ghostwhite
255 : White
Run Code Online (Sandbox Code Playgroud)
http://sites.google.com/site/cdeveloperresources/

我想要的是一个GrayScaleBrushes类,其行为与Brushes类完全相同,但使用我的自定义方案,如:
GrayScaleBrushes.Pct05
GrayScaleBrushes.Pct10
GrayScaleBrushes.Pct15
..all the way to.Pct95
...
ie: e.FillRectangle( GrayScaleBrushes.Pct05, exampleRect );
Run Code Online (Sandbox Code Playgroud)
怎么做,确保刷子正确处理?
编辑: .NET Brushes类如下所示(使用反射器反汇编).
public sealed class Brushes
{
// Fields
private static readonly object AliceBlueKey = new object();
// Methods
private Brushes()
{
}
// Properties
public static Brush AliceBlue
{
get
{
Brush brush = …Run Code Online (Sandbox Code Playgroud) 显然,.NET monthcalendar在不同平台上的呈现方式不同.Vista上的日历比XP日历更宽.
我想在所有平台上使日历非常精确和精确.有没有办法做到这一点,而无需测量和硬编码不同的宽度?
..............
编辑/更正:日历似乎根据您选择的主题进行不同的渲染:

如何弥补?
我有一个tableLayoutPanel,有5或7列.用户可以点击"显示/隐藏周末"按钮从5天切换到7天.
问题:当你开始5天,然后按5/7按钮,7列不均匀间隔...第6列比其余部分小得多.奇怪的是,如果你从7天开始,一切看起来都不错.当你切换到5然后回到7,仍然一切都很好??
void lblSatSunday_Click(object sender, EventArgs e)
{
ShowZaterdagZondag = !ShowZaterdagZondag;
AddDisplayControls();
}
private void AddDisplayControls()
{
tblPanel.SuspendLayout();
tblPanel.Controls.Clear();
tblPanel.ColumnCount = ShowZaterdagZondag ? 7 : 5; // <<<-------
tblPanel.RowCount = 1;
tblPanel.GrowStyle = TableLayoutPanelGrowStyle.FixedSize;//.AddColumns;
for (int i = 0; i < tblPanel.ColumnCount; i++)
{
ColumnStyle cs = new ColumnStyle(SizeType.Percent, 100 / tblPanel.ColumnCount);
tblPanel.ColumnStyles.Add(cs);
//Add accordeon
Accordeon a = new Accordeon();
//Removed code for reading
tblPanel.Controls.Add(a);
}
tblPanel.ResumeLayout();
}
Run Code Online (Sandbox Code Playgroud) 只要鼠标位于特定控件上,我们就会显示某种形式.当鼠标离开控件时,我们会在超时后隐藏控件.这是标准的悬停行为.
但是,当控件(例如Treeview)具有滚动条,并且鼠标处于ON或滚动条上时,事件不会触发...
如果我们可以获得对滚动条控件的引用,这将解决我们的问题,因为我们会将相同的侦听器事件添加到滚动条.但是,据我所知,滚动条无法访问...
我们怎样才能解决这个问题?
我们有一个介绍页面,在显示主站点内容之前播放html5视频.该视频具有白色背景,因此它与页面背景无缝集成.但是,在Chrome浏览器中,整个视频都具有灰色背景.
显然,2011年的这些问题表明这是铬的一个错误.他们还说明最新的Chrome更新中的bug已经消失.但是,我下载了最新的Chrome版本,27.0.1453.110米,问题仍然存在?

有没有人有这个问题的解决方案或解决方法?......这个错误让我们的整个项目变得毫无用处......我觉得令人难以置信的是,尽管有html5炒作,但自2011年以来,Chrome无法在视频中播放白人?
.......编辑.......................................... ..........
好的,我已经创建了一个jsfiddle项目:http: //jsfiddle.net/Ykmya/5/
<body>
<video id="introVideo" width="774" height="400" oncanplay="playIntroVideo()">
<source src="http://users.telenet.be/A-I/ChromeBugTest.mp4" type="video/mp4" />
Uw browser ondersteunt geen html5 video
</video>
</body>
Run Code Online (Sandbox Code Playgroud)
使用Chrome查看时,您会看到灰色背景
........编辑2 ........................................ ..........
使用pandavengers回答,我添加了这个css,它有一个可接受的结果:
@media screen and (-webkit-min-device-pixel-ratio:0) {
video{ -webkit-filter: brightness(108.5%); }
}
Run Code Online (Sandbox Code Playgroud) 我们在这里有点迷失.我们需要在具有80多个Citrix服务器的网络上安装我们的应用程序.虽然我们的应用程序是100%有效并且正在使用.NET,但我们遇到了一些(对我们来说很奇怪)行为:
的Process.Start( "IEXPLORE.EXE");
这在每台机器上都能正常工作吗?如果没有,怎么做得好?
...编辑:.................................
Process.Start(" http://www.example.com/ ")的问题; 是我们必须定位一个本地html文件,其中一些查询字符串指定要在html框架集中加载哪个页面.所以我们的URL如下所示:
G:\PathToHelpFolder\index.html#search?page=1.html
Run Code Online (Sandbox Code Playgroud)
如果将此路径传递给Process.Start,则会生成错误:"找不到该文件".这是由最后的查询字符串引起的.(#搜寻?页= 1.HTML)
因此,我们必须使用filepath作为命令行参数来启动资源管理器(或默认浏览器会更好).我们在MSDN文档中找到了上述方法.(Process.Start("IExplore.exe");)我们唯一的问题是这个方法是否足够可靠,可以部署到商业应用程序.单声道不是问题,只有Windows系统是目标.
...编辑:我们的解决方案......
我们的解决方案是从注册表中获取默认浏览器,并以文件名作为参数启动它.(如:在文件中用html启动默认浏览器,然后跳转到特定锚点)
您如何在不同环境中最好地测试商业Windows .NET应用程序?(XP,Vista,Win 7,终端服务器,Citrix)
我在考虑使用MS Virtual PC,以及一些像Acronis这样的鬼影软件.. http://www.acronis.com/enterprise/
什么是好的,经过测试的测试设置?:-)
.......................................
感谢volodi和lukas的帮助,我现在进一步了解:似乎VMWare Workstation是解决这个问题的完美软件解决方案.您可以拍摄配置快照,因此我们甚至不再需要任何成像软件.另外,它的价格为189美元......甜蜜......
现在我们遇到了一些额外的问题:
- >将其存储在网络驱动器或本地磁盘上......这是一个误解......
- >这是一个误解.如果您创建新计算机,则必须分配40GB的空间.所以我们想,我们需要8台机器,8 x 40 = 320 GB ...这是错的,vm是+/- 3-6 GB ...... vm磁盘大小似乎动态增长
- >如果你想测试Citrix XenServer,你需要一个64位处理器......
我在VS2008中遇到以下设计器错误:
Object of type 'Data.TimeLineChartedDay[]' cannot be
converted to type 'Data.TimeLineChartedDay[]'.
Run Code Online (Sandbox Code Playgroud)
???
public class TimeLineDisplay
{
private List<TimeLineChartedDay> chartedDays = new List<TimeLineChartedDay>();
public List<TimeLineChartedDay> ChartedDays
{
get { return chartedDays; }
set { chartedDays = value; }
}
}
[Serializable]
public class TimeLineChartedDay
{
private DateTime date;
private int chartValue;
public DateTime Date
{
get { return date; }
set { date = value; }
}
public int ChartValue
{
get { return chartValue; }
set { chartValue = value; …Run Code Online (Sandbox Code Playgroud) 我需要使用.NET来使用Java Web服务。必须对请求进行签名,并且证书必须包含在请求中。
使用下面的“ GetClient”方法时,除一个字段外,该请求是正确的。在SecurityTokenReference元素中,添加了“ KeyIdentifier”。此SecurityTokenReference字段应在'SignedInfo'元素中包含对第三参考的'Reference'字段:
</o:Security>
</s:Header>
<o:BinarySecurityToken>...</o:BinarySecurityToken>
<Signature>
<SignedInfo>
<CanonicalizationMethod></CanonicalizationMethod>
<SignatureMethod></SignatureMethod>
<Reference URI="#_1">...</Reference>
<Reference URI="#uuid-001">...</Reference>
<Reference URI="#uuid-002">...</Reference>
</SignedInfo>
<SignatureValue>...</SignatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:KeyIdentifier >...</o:KeyIdentifier>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
Run Code Online (Sandbox Code Playgroud)
所以
<o:SecurityTokenReference>
<o:KeyIdentifier >...</o:KeyIdentifier>
</o:SecurityTokenReference>
Run Code Online (Sandbox Code Playgroud)
应该
<o:SecurityTokenReference>
<o:Reference ValueType="..." URI="uuid-002" />
</o:SecurityTokenReference>
Run Code Online (Sandbox Code Playgroud)
但是我不能使这个工作。
使用时
InitiatorTokenParameters InclusionMode = SecurityTokenInclusionMode.Once
Run Code Online (Sandbox Code Playgroud)
添加了正确的“ Reference”标记,但是随后生成了一个双重“ BinarySecurityToken”标记,从而导致Web服务被拒绝。有什么解决办法吗?
public wsClient GetClient()
{
CustomBinding b = new CustomBinding();
HttpsTransportBindingElement transport = new HttpsTransportBindingElement();
AsymmetricSecurityBindingElement asec = (AsymmetricSecurityBindingElement)SecurityBindingElement.CreateMutualCertificateBindingElement
(MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10);
asec.SetKeyDerivation(false);
asec.AllowInsecureTransport = true;
asec.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Basic256;
asec.IncludeTimestamp = true;
asec.ProtectTokens …Run Code Online (Sandbox Code Playgroud)