2012-05-04 95 views
7

好吧,尽我所能,我不能为我的生活摆脱我的按钮周围这个小小的边界。用图像去除按钮周围的所有额外空间?

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

图片:

enter image description here 第一,我不能为我的生命得到这些边框GO AWAY。我已经检查了我能想到的一切。他们是:

  • 边境0
  • 没有利润
  • 没有填充
  • 在表格布局手动尺寸图像的尺寸(960x75像素)
  • 其中列全部为:
    • 手动调整大小到图像宽度(75px)
    • 无边距

似乎没有什么真正的 “工作” 来摆脱这些。如果我将列大小设置为74px而不是75px,那么大多数列都会消失,但只剩下一些列。我对图像进行了三倍和四倍的检查,并且他们没有任何我可以接受的东西,这应该是造成这种情况的原因......边界没有透明度,绝对没有看起来像这样的边框。

这使我的第二个问题:

enter image description here

设置按钮时,对话框小...当对话框伸出

enter image description here 设置按钮。

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

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

有没有人有这方面的经验?我错过了什么?

+0

当所有其他的失败... Control.Region –

回答

0

你试过了一个工具栏/条/这些天被称为什么?可能不会帮助,因为我相信它会代表你的名字,但值得一试。

最后,您可以折腾垃圾桶中的按钮并编写自己的控件。管理N个按钮的单个控件在这里可以很好地工作。

我不明白你的第二个问题。有什么问题?无论如何,如果您推出自己的控件,它将会被修复。

+1

这不是一个工具栏/条,他们应该看起来像标签。一个标签控件是不太适合的,因为我使用客户端设计的皮肤在XP中查看它的问题。所以模拟选项卡的按钮(它们触发隐藏和显示面板)。 这些按钮实际上是自定义控件;我有一个临时解决方案,通过重写OnPaint并自己绘制它,但这会导致其他地方出现问题,因为我在应用程序的其他地方还有其他控件实例。当与他们对话正在调整大小时,他们并不总是适当重绘。 – trycatch

+0

第二个问题是当对话框伸出时,带有小齿轮的按钮会产生“白线填充”综合征。 (请注意,虽然它们靠得很近,但它很好吗?) – trycatch

+0

这是WinForms的问题:控件不仅价格昂贵(每个控件都分配了系统资源),它们不喜欢紧靠背靠背存在而没有问题。每一个控件都是一个系统窗口对象,每个控件都是一个小岛。当你需要将“控件”包装在一起像素完美时,或者你需要你的应用程序更好地执行时,解决方案(通常)创建一个单一的控件,提供内部(外壳中的按钮)的外观和功能。您认为在Office功能区上组合了多少“控件”?正好一个。 – Tergiver

0

虽然不是间距问题的解决办法,作为一种解决方法,你可以作出这样的灰色渐变目前“背后”的“标签”和控制面板的图像成BackgroundImage使用的StretchBackgroundImageLayoutTableLayoutPanel。虽然没有解决间距问题,但它会使它不明显。

0

写一个winforms控件有它的挑战(这里有经验)。我同意这是需要的。根据你的项目你可能会考虑使用XAML和WPF。它提供了您似乎在您的应用程序中寻找的细节。

有一些方法可以在winform应用程序中托管XAML控件,但是如果你走这条路线,最好创建一个本地WPF应用程序。反过来也是如此(WPF应用程序中的winform控件)。

0

你是否检查图像是否具有你想要的图形像素周围的透明像素?

可能是一个简单的作物解决方案。

1

简单的解决方案:直接使用PictureBox就好像它是一个按钮。您可以在鼠标悬停或鼠标点击时更改图像。