VC ++将Paint事件调用到按钮事件中

时间:2017-09-03 00:26:01

标签: winforms visual-studio-2013 c++-cli

我正在VC ++中创建一个Windows窗体,我发现很多材料都在讨论如何将Paint事件调用到其他函数或事件中,但是这些事件往往是在C#中,这对我来说似乎不起作用或者他们没有解释代码的实际语法供我理解。我还在学习编程的更详细方面,所以告诉我使用Validate()对我没什么好处。

private: System::Void Stand_wheel_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) 

我有我的Paint事件。这有if语句,读取是否满足某些条件以更改绘画中使用的点。

private: System::Void button3_Click_1(System::Object^  sender, System::EventArgs^  e) 

我的按钮点击我要触发绘画的按钮。我尝试使用Stand_wheel_Paint名称,但它充满了错误。我已经尝试了几乎所有的知识,以便在按钮中的事件下得到它,我就是不能。我也知道我必须“擦除”旧的油漆并重做当前的工作,但是从我发现的那些往往几乎让我到那里但是来自C#。我会喜欢有人可以提供的任何帮助。

 using ( // <- I get an error on this parantheses
 var g = Graphics.FromImage(Stand_wheel.Image))
                 {
                     e->Graphics->DrawLines(pen, points);
                     Stand_wheel.Refresh();
                 }

这看起来很接近解决方案,但仍有错误。

1 个答案:

答案 0 :(得分:0)

using块仅存在于C#中,这是必需的,因为它没有确定性的破坏。 C ++ / CLI与标准C ++一样。如果您声明ref class类型的变量而不是跟踪句柄,则当变量超出范围时,将自动调用其Dispose方法。

不需要using,C ++ / CLI方法比C#方法强大得多。例如,C ++ / CLI确定性破坏与类成员数据一样,与本地人一样容易。