问题列表 - 第30066页

如何使用C#将Windows窗体面板作为位图?

我有一个Windows窗体,面板上有几个控件.面板不会占用所有的表单空间,只占很小的一部分.我想知道的是,是否有某种方法可以检索面板的显示(包含所有子控件)作为位图.就像一个截图,但只是裁剪到面板.

我没有调查屏幕捕获,因为面板在可滚动控件(DevX控件)内,所以有时它可能不完全可见,我需要它的可视化表示是否可见.

这有可能吗?

编辑:

好吧,现在好像我担心的那样.使用DrawToBitmap()的建议解决方案仅绘制可见的控件部分.我使用DisplayRectangle来检索完整控件的大小.矩形是可以的,现在位图是完整控件的大小,但是控件中不可见的部分在位图上是透明的,不显示控件的不可见部分上的控件.

有没有机会完全渲染?

screenshot bitmap panel winforms

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

在WPF样式中绑定会导致莫名其妙的"无法找到管理FrameworkElement"错误

我有一个ItemsControl显示一堆矩形.每个矩形需要向上和向左偏移.所以,我创建了一个RectangleStyle使用绑定来设置矩形的宽度,高度,X平移和Y平移.

宽度和高度绑定工作正常,但我得到TranslateTransform绑定的以下错误:

System.Windows.Data错误:2:找不到目标元素的管理FrameworkElement或FrameworkContentElement.BindingExpression:路径= Offset.X; 的DataItem = NULL; target元素是'TranslateTransform'(HashCode = 16452547); target属性为'X'(类型'Double')

这是我的定义ItemControl:

<ItemsControl
    Style="{StaticResource ItemsControlStyle}"
    ItemsSource="{Binding Zones}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Rectangle Style="{StaticResource RectangleStyle}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

这是以下定义ItemsControlStyle:

<Style x:Key="ItemsControlStyle" TargetType="ItemsControl">
    <Setter Property="ItemsPanel">
        <Setter.Value>
            <ItemsPanelTemplate>
                <Canvas />
            </ItemsPanelTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="ItemContainerStyle">
        <Setter.Value>
            <Style>
                <Setter Property="Canvas.Left" Value="{Binding Point.X}" />
                <Setter Property="Canvas.Top" Value="{Binding Point.Y}" />
            </Style>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

以下是定义RectangleStyle:

<Style x:Key="RectangleStyle" TargetType="Rectangle">
    <Setter Property="Width" Value="{Binding Size.Width}" />
    <Setter Property="Height" …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml binding

22
推荐指数
2
解决办法
2万
查看次数

怎么阻止这个?使用jquery多次点击按钮?

我认为我在同一个按钮上多次点击有问题.我以为我解决了它,但我认为有2个问题,而不是我认为的一个问题.

第一个问题是,如果他们点击了一个按钮(比如一个保存按钮),它会做很多保存ajax帖子.

因此,如果他们点击它5次因为他们不耐烦它会节省5倍,在某些情况下会使服务器崩溃,但大多数时候只是做出了奇怪的结果.所以我发现了一个很棒的插件,以确保无法做出重复的请求,我认为问题已经解决了.

但是我有一些按钮,你点击它,它会产生一个jquery ui对话框,我相信如果你点击该按钮5次就会弄乱对话框.喜欢它没有5个对话框,但我注意到表单中的控件不会突然发生.

因此,如果我只是单击一个按钮并创建对话框就可以了.如果我在对话框完成渲染之前单击按钮5次,我不再看到验证错误,有时它的日期选择器就消失了.

它只是不起作用.

所以我认为我需要一些东西来阻止这种大规模点击,所以我想到当点击一个按钮时所有按钮都被禁用,直到它完成加载任何东西.我不确定这是否是最佳方式,这就是我要问的原因.

我也不确定在哪里放置代码.将它放在一个全球区域或其他什么东西会很棒,所以我不必把它放在每个方法中.

谢谢

jquery jquery-ui

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

Python布尔表达式和或

在python中,如果你写的东西像

foo==bar and spam or eggs
Run Code Online (Sandbox Code Playgroud)

如果布尔语句为true,则python似乎返回垃圾邮件,否则返回egg.有人可以解释这种行为吗?为什么表达式没有被评估为像一个长布尔值?

编辑:具体来说,我试图弄清楚为什么'垃圾'或'鸡蛋'作为表达结果返回的机制.

python syntax boolean-expression

18
推荐指数
2
解决办法
2万
查看次数

PHP日期问题

我在PHP中有Web服务,它获取dateTime对象(来自asp).我想以自定义格式解析这个日期.最初的日期格式为"2010-07-05T00:00:00 + 02:00".我在尝试这个时:

$oDate = strtotime($date_from_webservice);
$sDate = date("d.m.Y",$oDate);
echo $sDate;
Run Code Online (Sandbox Code Playgroud)

我的日期是"07.04.2010",也就是提前一天.为什么?

谢谢

php datetime date strtotime

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

Cron触发每小时运行一半小时

任何人都可以建议一种方法来设置一个Cron触发器每小时运行一半的时间?

到目前为止,我按照"0 0/60***?"每小时工作一次.

我在看"0 0/30***?" 什么?

摩根先生.

cron triggers

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

在PHP中将Money转换为文本

我需要使用PHP将$ 89.50转换为Eight-Nine Dollars和Fifty Cents.有什么功能我在某处丢失了吗?

php string formatting currency

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

语法:自上而下和自下而上的区别?

自上而下和自下而上的语法有什么区别?一个例子很棒.

grammar topdown bottom-up

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

Haskell和条件数据结构

有可能写出类似的东西:

data SomeData = SomeValue | (Integral a) => SomeConstructor a
Run Code Online (Sandbox Code Playgroud)

一个人怎么写这个呢?

haskell types data-structures

3
推荐指数
2
解决办法
550
查看次数

Windows C#CheckedListBox Checked Item事件处理

我目前正在开发一个Window应用程序,它使用CheckedListBoxes来实现程序的某些方面.我遇到的一个问题是,我一直在尝试查找项目被选中时触发了哪个事件,这样我就可以在选中任何列表项时启用表单按钮.

问题是我尝试使用以下内容;

private void clbAvailMods_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        if(e.NewValue == CheckState.Checked)
        {
            btnInstall.Enabled = true;
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是当我在if语句上设置断点时,它永远不会在检查列表框中的项目时触发.

我在这里做错了吗?

c# events visual-studio-2005 checkedlistbox

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