从 C++ 中的面板返回值?
Returning a value from a panel in C++?
假设我有以下内容:
private: System::Int64 panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
int x;
mouse event gives back the value 5.
x = 5;
return x
}
如何调用面板才能 return 5?有什么办法可以做到吗?谢谢
P.S: 我正在使用 C++/CLI。
我没用过,System::Windows之类的,我觉得你的实际问题是对如何处理事件有些误解。然而...
"How do i call the panel such that it can return 5??"
从你的问题来看,我假设这个函数内联在一些 MyPanel header 的 header 中。 IE。类似于:
class MyPanel{
// ... //
private:
System::Int64 panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
int x;
//mouse event gives back the value 5.
x = 5;
return x
}
};
此函数在调用时执行 return 5。但是,它是私有的,只能从成员函数(或朋友)中调用。
编辑:阅读更多评论后,我想我知道你的问题是什么..
此函数的正确 return 类型是 "void" 而不是 "int"。如果您想进一步处理事件,请在另一个函数中执行。例如:
void myEventHandler(int x){
std::cout << "Button " << x << " was pressed" << std::endl;
}
void panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
myEventHandler(5);
}
MouseDown 是按住鼠标时调用的函数。你不调用它,你只是在其中处理你的事件。希望这会有所帮助...
假设我有以下内容:
private: System::Int64 panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
int x;
mouse event gives back the value 5.
x = 5;
return x
}
如何调用面板才能 return 5?有什么办法可以做到吗?谢谢
P.S: 我正在使用 C++/CLI。
我没用过,System::Windows之类的,我觉得你的实际问题是对如何处理事件有些误解。然而...
"How do i call the panel such that it can return 5??"
从你的问题来看,我假设这个函数内联在一些 MyPanel header 的 header 中。 IE。类似于:
class MyPanel{
// ... //
private:
System::Int64 panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
int x;
//mouse event gives back the value 5.
x = 5;
return x
}
};
此函数在调用时执行 return 5。但是,它是私有的,只能从成员函数(或朋友)中调用。
编辑:阅读更多评论后,我想我知道你的问题是什么.. 此函数的正确 return 类型是 "void" 而不是 "int"。如果您想进一步处理事件,请在另一个函数中执行。例如:
void myEventHandler(int x){
std::cout << "Button " << x << " was pressed" << std::endl;
}
void panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
myEventHandler(5);
}
MouseDown 是按住鼠标时调用的函数。你不调用它,你只是在其中处理你的事件。希望这会有所帮助...