小编try*_*tch的帖子

删除带图像的按钮周围的所有额外空间?

好吧,尽我所能,我不能为我的生活摆脱我按钮周围的这个小小的边界.

编辑:我应该提一下,如果我没说清楚,这些是带有图像的按钮,设置为平面,按钮的大小与图像相同.

下图:

在此输入图像描述 第一,我不能为我的生活让这些边界走开.我已经检查了我能想到的一切.他们是:

  • 平面
  • 边界0
  • 没有利润
  • 没有填充
  • 手动调整大小到图像大小(75px)
  • 在表格布局中,列是全部:
    • 手动调整大小到图像的宽度(75px)
    • 无国界

似乎没有什么能真正"起作用"来摆脱这些.如果我将列的大小调整为74px而不是75px,那么大多数都会消失,但仍会留下一些.我已经对图像进行了三倍和四倍的检查,并且它们没有任何我可以接收到的应该导致这种情况......边界周围没有透明度,绝对没有看起来那样的边框.

这引出了我的第二个问题:

在此输入图像描述

对话框很小时设置按钮...

在此输入图像描述 对话框拉伸时的"设置"按钮.

"设置"按钮也位于同一个表格布局面板中.

我已经检查了表格布局面板上的所有设置..我找不到任何填充或边距或任何暗示应该发生这种情况的设置.

有人对这个有经验么?我错过了什么..?

button custom-controls winforms

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

Winform自定义控件-设计器随机停止初始化/调用构造函数

这是一场可怕的噩梦,我迫切需要帮助。我到处寻求帮助,但没有任何办法可以永久解决。

我开发了一些自定义控件;扩展按钮、用户控件等的控件。我有一个问题,VS2010 不断地、随机地、没有我能辨别的韵律或原因,决定何时尝试打开一个使用它的自定义控件的控件的设计视图(编辑:“it”是 Windows 窗体生成器)应该完全删除从 .designer.cs 文件中调用自定义控件的构造函数的行,从而完全破坏了我查看设计视图的能力。该应用程序仍然可以完全正常构建和运行。

我已经测试并排除了以下问题:

  1. 公共构造函数 - 显然拥有非公共(内部等)构造函数可能会导致此类问题。我已经检查了 100 次 - 所有自定义控件都有公共构造函数。

  2. 空构造函数 - 除了是公共的之外,它还需要是空的。

  3. 不调用构造函数中可能失败的任何内容 - 我已将自定义控件的所有构造函数减少为空

     Name() { }
    Run Code Online (Sandbox Code Playgroud) 来电。那里没有运气。

  4. 命名空间 - 显然处于不同的命名空间会导致问题?我在同一个项目中,并且文件位于同一个项目中。

  5. 卸载项目。关闭VS。删除 .suo 智能感知文件。删除 obj 文件。打开VS。重新加载项目。重建项目。还是没有运气。

这太令人沮丧了。我已经准备好放弃使用自定义控件并手动为每个控件单独设置皮肤以避免它。有谁知道造成这种情况的原因吗?

c# custom-controls visual-studio-2010 visual-studio winforms

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

C#= MenuItem.Click handler - 获取上下文菜单所属的对象?

这可能非常简单,我没有看到它,因为这是漫长的一天的结束,如果它是我提前道歉.

我有一组按钮,右键单击时会弹出一个ContextMenu.该菜单有两个MenuItem,它们都分配了一个Click处理函数.我正在触发ContextMenu弹出右键单击按钮,如下所示:

过于简化的例子:


public void InitiailizeButtonContextMenu()
{
    buttonContextMenu = new ContextMenu();
    MenuItem foo = new MenuItem("foo");
    foo.Click += OnFooClicked;

    MenuItemCollection collection = new MenuItemCollection(buttonContextMenu);
    collection.Add(foo);
}

public void OnButtonMouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
        // left click stuff handling
    if (e.Button == MouseButtons.Right)
        buttonContextMenu.Show((Button)sender, new Point(e.X, e.Y));
}


public void OnFooClicked(object sender, EventArgs e)
{
    // Need to get the Button the ContextMenu .Show'd on in
    // OnButtonMouseClick...  thoughts?
}


ContextMenu buttonContextMenu; 
Run Code Online (Sandbox Code Playgroud)

我需要能够获得触发ContextMenu的Button在MenuItem的Click处理程序中弹出,或以某种方式获取它.MenuItem.Click接受EventArgs,所以没有什么用处.我可以将对象发送者强制转换回MenuItem,但我找不到任何告诉我是什么让它弹出的东西.这可能吗?

c# events contextmenu winforms

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

CUDA - 复制到对象数组中的数组

我有一个CUDA应用程序,我正在使用一组对象; 每个对象都有一个指向数组的指针std::pair<int, double>.我正在尝试cudaMemcpy对象数组,然后cudaMemcpy对每个对象的数组,但这给了我各种悲伤.它崩溃试图复制到内部数组; 我不明白如何移动它...


#include <cuda.h>

#include <cuda_runtime.h>

#include <iostream>

using namespace std;

class Object
{
public:
    int id;
    float something;
    std::pair<int, float> *somePairs;
};

Object *objects;

void initObjects()
{
    objects = new Object[10];

    for( int idx = 0; idx < 10; idx++ )
    {
        objects[idx].id = idx;
        objects[idx].something = (float) idx;
    objects[idx].somePairs = new std::pair<int, float>[10];

        for ( int jdx = 10; jdx < 10; jdx++ )
        {
           objects[idx].somePairs[jdx] = std::pair<int, float>( jdx, (float) jdx …

c++ cuda gpgpu

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