允许函数以另一种形式查看列表框
Allowing a function to see listbox in another form
我的所有代码都在我的 .cpp 文件中。我在那里有一个功能:
void funct1 (void)
{
...
if (num_fields) {
for (ix = 0; ix < num_fields; ix++)
if (status == OK)
checkedListBox1->Items->Add(gcnew String(buffer));
} else
checkedListBox1->Items->Add("No available extra data fields");
}
但是我的函数无法从我的 Form5.h
.
中看到 checkedlistbox1
如何让我的函数看到这个?
我正在从我的 cpp 文件中调用我的函数:
System::Void Form5::MainMAFBrowseBtn_Click(System::Object^ sender,
System::EventArgs^ e) {
checkedListBox1->Items->Clear();
System::String^ paf_path2 = textBox1->Text;
FolderBrowserDialog^ folderBrowserDialog1;
folderBrowserDialog1 = gcnew System::Windows::Forms::FolderBrowserDialog;
folderBrowserDialog1->Description = L"Select the directory of your MAF files ";
folderBrowserDialog1->ShowNewFolderButton = false;
// Show the FolderBrowserDialog.
System::Windows::Forms::DialogResult result = folderBrowserDialog1->ShowDialog();
if ( result == ::DialogResult::OK )
paf_path2 = folderBrowserDialog1->SelectedPath;
textBox1->Text = paf_path2;
paf_path = (char*)(void*)Marshal::StringToHGlobalAnsi(paf_path2);
funct1();
}
如果 functl()
不是 class 的一部分,您需要将 checkedListBox1
作为参数传入,如下所示:
void funct1(System::Windows::Forms::CheckedListBox% checkedListBox1)
{
...
}
比你的调用函数:
System::Void Form5::MainMAFBrowseBtn_Click(System::Object^ sender, System::EventArgs^ e)
{
...
functl(checkedListBox1);
}
or 在你的 class Form5
你可以把 functl
的声明放在那里:
class Form5
{
...
private:
void functl();
};
然后在您的 .cpp
文件中将 functl
声明为:
void Form5::functl()
{
/// Now you have direct access to checkedListBox1.
}
我的所有代码都在我的 .cpp 文件中。我在那里有一个功能:
void funct1 (void)
{
...
if (num_fields) {
for (ix = 0; ix < num_fields; ix++)
if (status == OK)
checkedListBox1->Items->Add(gcnew String(buffer));
} else
checkedListBox1->Items->Add("No available extra data fields");
}
但是我的函数无法从我的 Form5.h
.
checkedlistbox1
如何让我的函数看到这个?
我正在从我的 cpp 文件中调用我的函数:
System::Void Form5::MainMAFBrowseBtn_Click(System::Object^ sender,
System::EventArgs^ e) {
checkedListBox1->Items->Clear();
System::String^ paf_path2 = textBox1->Text;
FolderBrowserDialog^ folderBrowserDialog1;
folderBrowserDialog1 = gcnew System::Windows::Forms::FolderBrowserDialog;
folderBrowserDialog1->Description = L"Select the directory of your MAF files ";
folderBrowserDialog1->ShowNewFolderButton = false;
// Show the FolderBrowserDialog.
System::Windows::Forms::DialogResult result = folderBrowserDialog1->ShowDialog();
if ( result == ::DialogResult::OK )
paf_path2 = folderBrowserDialog1->SelectedPath;
textBox1->Text = paf_path2;
paf_path = (char*)(void*)Marshal::StringToHGlobalAnsi(paf_path2);
funct1();
}
如果 functl()
不是 class 的一部分,您需要将 checkedListBox1
作为参数传入,如下所示:
void funct1(System::Windows::Forms::CheckedListBox% checkedListBox1)
{
...
}
比你的调用函数:
System::Void Form5::MainMAFBrowseBtn_Click(System::Object^ sender, System::EventArgs^ e)
{
...
functl(checkedListBox1);
}
or 在你的 class Form5
你可以把 functl
的声明放在那里:
class Form5
{
...
private:
void functl();
};
然后在您的 .cpp
文件中将 functl
声明为:
void Form5::functl()
{
/// Now you have direct access to checkedListBox1.
}