我是visual studio和c ++的新手,我创建了一个新的CLR Empty Project并开始添加一些控件。我在工具条的右边缘注意到这个奇怪的人工制品,并希望将其删除。
这个问题Why am I getting a vertical line on toolstrip?在c#中提供了一个解决方案,但是我在尝试使它在visual c ++中工作时遇到了麻烦。
首先我创建了一个名为CustomerRenderer.cpp
的新.cpp文件,代码如下:
using namespace System::Windows::Forms;
private ref class CustomRenderer : ToolStripRenderer
{
protected:
virtual void OnRenderToolStripBorder(ToolStripRenderEventArgs^ e) override
{
ToolStripRenderer::OnRenderToolStripBorder(e);
}
};
然后在我的表单加载中我把它:
private: System::Void MainForm_Load(System::Object^ sender, System::EventArgs^ e) {
this->toolStrip1->Renderer = gcnew CustomRenderer();
}
这只会使工具条完全消失,而不是修复边缘人工制品。我喜欢渐变工具条的样式,所以不要改为系统渲染器。
如何在visual c ++项目中覆盖工具条渲染器并删除边缘边框伪影?
由于
答案 0 :(得分:0)
好的,我通过改变解决了:
private ref class CustomRenderer : ToolStripRenderer
到
private ref class CustomRenderer : ToolStripProfessionalRenderer