Winforms C++;CLI错误,堆叠轨迹栏(奇怪的视觉效果和崩溃)

Winforms C++;CLI错误,堆叠轨迹栏(奇怪的视觉效果和崩溃),winforms,drop-down-menu,c++-cli,trackbar,Winforms,Drop Down Menu,C++ Cli,Trackbar,我真的需要帮助,但没有人给我任何信息。所以我想我应该写一篇很长的文章,详细说明这个问题和我的代码。正如启动信息一样,这是一个C++ DLL,它加载到另一个程序或被强制注入时加载表单。 所以首先我要堆叠一些轨迹栏。根据下拉框菜单的选择,某些轨迹栏会出现,有些会消失。每个轨迹栏都有各自的值。表示它的最好方法是像类一样 播放器1->R、G、B轨迹栏 Player2->R、G、B轨迹栏 所以每个玩家有3个。在下拉列表中切换播放机会导致这些播放机切换。因此,在设计师身上进行如下布局: 它不会显示得太好,

我真的需要帮助,但没有人给我任何信息。所以我想我应该写一篇很长的文章,详细说明这个问题和我的代码。正如启动信息一样,这是一个C++ DLL,它加载到另一个程序或被强制注入时加载表单。 所以首先我要堆叠一些轨迹栏。根据下拉框菜单的选择,某些轨迹栏会出现,有些会消失。每个轨迹栏都有各自的值。表示它的最好方法是像类一样

播放器1->R、G、B轨迹栏 Player2->R、G、B轨迹栏

所以每个玩家有3个。在下拉列表中切换播放机会导致这些播放机切换。因此,在设计师身上进行如下布局:

它不会显示得太好,但它们会直接在一起,每次都会切换。在designer中,你显然只能看到3个,因为其他的都在顶部的下面

我这样创建它们:

        this->trackbar_TeamBlue->Location = System::Drawing::Point(491, 225);
        this->trackbar_TeamBlue->Maximum = 255;
        this->trackbar_TeamBlue->Name = L"trackbar_TeamBlue";
        this->trackbar_TeamBlue->Size = System::Drawing::Size(153, 45);
        this->trackbar_TeamBlue->TabIndex = 10;
        this->trackbar_TeamBlue->Visible = false;
每个都是一样的。在表格初始化时,我将所有团队轨迹栏设置为不可见,将所有敌人轨迹栏设置为可见:

        trackbar_TeamRed->Visible = 0;
        trackbar_TeamGreen->Visible = 0;
        trackbar_TeamBlue->Visible = 0;

        trackbar_EnemyBlue->Visible = 1;
        trackbar_EnemyGreen->Visible = 1;
        trackbar_EnemyRed->Visible = 1;
下拉框菜单很可能不会导致问题,但它的创建方式如下:

        this->dropdown_ESPColour->BackColor = System::Drawing::SystemColors::ScrollBar;
        this->dropdown_ESPColour->FormattingEnabled = true;
        this->dropdown_ESPColour->Items->AddRange(gcnew cli::array< System::Object^  >(4) { L"Enemy", L"Team", L"Weapons", L"Bomb" });
        this->dropdown_ESPColour->Location = System::Drawing::Point(353, 177);
        this->dropdown_ESPColour->Name = L"dropdown_ESPColour";
        this->dropdown_ESPColour->Size = System::Drawing::Size(121, 21);
        this->dropdown_ESPColour->TabIndex = 0;
        this->dropdown_ESPColour->Text = L"Enemy";
所以构建这个表单很好。将其加载到程序或任何其他方法中都可以正常工作。以下是加载的实际表单的图像:

正如你所见,这一切都很好。请注意,到目前为止我还没有做任何改变。这就是表单加载到的内容。我可以更改这些轨迹栏上的所有值。现在尝试切换到另一个类别,您将看到一个奇怪的视觉效果出现,一个没有滑块的简单灰色框出现。在图像中,你看不到灰盒,但我可以向你保证,它100%在那里。由于某些原因,这些图像上的条看起来是白色的,而不是在我的屏幕上


每当我点击这个灰色区域时,它们都会崩溃。如果我把下拉框改回去,它们会再次出现,工作正常。有人知道是什么导致了这个问题吗?

每当我单击时,表单就会崩溃
:如果不知道崩溃是什么,我们什么也做不了。包括异常名称、堆栈跟踪等。为什么不让同一个轨迹栏始终可见,并更改
轨迹栏_
事件查看下拉列表以查看要修改的内容?
每当我单击时,表单崩溃
:我们无法在不知道崩溃是什么的情况下执行任何操作。包括异常名称、堆栈跟踪等。为什么不让同一个轨迹栏始终可见,并更改
轨迹栏_
事件查看下拉列表以查看要修改的内容?
System::Void dropdown_ESPColour_SelectedIndexChanged(System::Object^  sender, System::EventArgs^  e) {
    if (dropdown_ESPColour->SelectedIndex == 0) {
        trackbar_EnemyBlue->Visible = 1;
        trackbar_EnemyGreen->Visible = 1;
        trackbar_EnemyRed->Visible = 1;

        trackbar_TeamRed->Visible = 0;
        trackbar_TeamGreen->Visible = 0;
        trackbar_TeamBlue->Visible = 0;

    }
    else if (dropdown_ESPColour->SelectedIndex == 1) {
        trackbar_EnemyBlue->Visible = 0;
        trackbar_EnemyGreen->Visible = 0;
        trackbar_EnemyRed->Visible = 0;

        trackbar_TeamRed->Visible = 1;
        trackbar_TeamGreen->Visible = 1;
        trackbar_TeamBlue->Visible = 1;

    }
}