小编Run*_*CMD的帖子

构建GrayScaleBrushes类

最近我发现了一个基于色调和亮度值的.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 c# gdi+

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

不同(平台)上的MonthCalendar宽度,更正:主题(XP与Aero主题)

显然,.NET monthcalendar在不同平台上的呈现方式不同.Vista上的日历比XP日历更宽.

我想在所有平台上使日历非常精确和精确.有没有办法做到这一点,而无需测量和硬编码不同的宽度?

..............

编辑/更正:日历似乎根据您选择的主题进行不同的渲染:

在此输入图像描述

如何弥补?

.net c# windows controls winforms

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

TableLayoutPanel运行时的列宽:奇怪的行为或错误

我有一个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)

.net c# tablelayoutpanel winforms

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

Control With Scrollbar上的.NET C#MouseEnter侦听器

只要鼠标位于特定控件上,我们就会显示某种形式.当鼠标离开控件时,我们会在超时后隐藏控件.这是标准的悬停行为.

但是,当控件(例如Treeview)具有滚动条,并且鼠标处于ON或滚动条上时,事件不会触发...

如果我们可以获得对滚动条控件的引用,这将解决我们的问题,因为我们会将相同的侦听器事件添加到滚动条.但是,据我所知,滚动条无法访问...

我们怎样才能解决这个问题?

.net c# winforms

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

Chrome Html5视频无法显示白色,具有灰色背景

我们有一个介绍页面,在显示主站点内容之前播放html5视频.该视频具有白色背景,因此它与页面背景无缝集成.但是,在Chrome浏览器中,整个视频都具有灰色背景.

显然,2011年的这些问题表明这是铬的一个错误.他们还说明最新的Chrome更新中的bug已经消失.但是,我下载了最新的Chrome版本,27.0.1453.110米,问题仍然存在?

html 5-视频 - Chrome中的白色已被清除

HTML5视频标签上不需要的背景颜色/工件

在此输入图像描述

有没有人有这个问题的解决方案或解决方法?......这个错误让我们的整个项目变得毫无用处......我觉得令人难以置信的是,尽管有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)

html5 webkit google-chrome html5-video

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

为Citrix /终端服务器编写.NET应用程序:合规性和陷阱

我们在这里有点迷失.我们需要在具有80多个Citrix服务器的网络上安装我们的应用程序.虽然我们的应用程序是100%有效并且正在使用.NET,但我们遇到了一些(对我们来说很奇怪)行为:

  • 您不能使用任何"文档和设置"文件夹来存储数据或设置.显然,这些文件夹是虚拟化的,位于多个位置.
  • 检查文件是否存在(即,在您自己的"程序文件"文件夹中)不起作用.可能出于同样的原因.

  • 为什么文件系统会以这种方式运行?
  • 您如何存储数据以使应用程序在Citrix上运行?
  • 您还需要了解其他任何陷阱或事项吗?

.net terminal virtualization citrix terminal-services

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

的Process.Start( "IEXPLORE.EXE"); < - 这可靠吗?

的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启动默认浏览器,然后跳转到特定锚点)

.net c# winapi

6
推荐指数
3
解决办法
4026
查看次数

如何为商业Windows应用程序创建测试环境?

您如何在不同环境中最好地测试商业Windows .NET应用程序?(XP,Vista,Win 7,终端服务器,Citrix)

我在考虑使用MS Virtual PC,以及一些像Acronis这样的鬼影软件.. http://www.acronis.com/enterprise/

什么是好的,经过测试的测试设置?:-)

.......................................

感谢volodi和lukas的帮助,我现在进一步了解:似乎VMWare Workstation是解决这个问题的完美软件解决方案.您可以拍摄配置快照,因此我们甚至不再需要任何成像软件.另外,它的价格为189美元......甜蜜......

现在我们遇到了一些额外的问题:

  • 在vmware中,建议您将vm存储在LOCAL磁盘上.保存到网络或USB驱动器是可能的,但你需要PocketACE,你必须先在本地存储,然后转换,这似乎很麻烦......所以我们正在考虑购买一台1TB磁盘空间的新笔记本电脑.我们将此笔记本电脑仅用于测试目的.您在哪里存储虚拟机?

- >将其存储在网络驱动器或本地磁盘上......这是一个误解......

  • 现在另一个问题似乎正在备份......你将如何备份500 GB的数据?这似乎很多工作......

- >这是一个误解.如果您创建新计算机,则必须分配40GB的空间.所以我们想,我们需要8台机器,8 x 40 = 320 GB ...这是错的,vm是+/- 3-6 GB ...... vm磁盘大小似乎动态增长

  • 另外,我应该买一台64位机器吗?

- >如果你想测试Citrix XenServer,你需要一个64位处理器......

.net windows testing installation

5
推荐指数
0
解决办法
539
查看次数

'Data.TimeLineChartedDay []'类型的对象无法转换为'Data.TimeLineChartedDay []'类型?

我在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 c# visual-studio

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

WCF Web服务请求:在SecurityTokenReference中添加引用标记而不是KeyIdentifier标记

我需要使用.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)

.net wcf web-services

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