2017-12-20 15 views
-1

私はパネルとボタンを持っています。 テキストボックスのあるフォーム。 フォームをパネル内に表示しようとしています。私は書かれているコード....別のページでvb.netを使用してパネル内にフォームを表示します。エラー透明度

Private Sub Btn_Click(sender As Object, e As EventArgs) Handles Btn.Click 

    Dim f As New form() 
    f.TopLevel = False 
    f.WindowState = FormWindowState.Normal 
    f.FormBorderStyle = FormBorderStyle.None 
    f.Visible = True 
    Pages.Controls.Add(f) 
    End Sub 

、私は.....パネル内部

Dim f As New add_customer() 
    f.TopLevel = False 
    f.WindowState = FormWindowState.Normal 
    f.FormBorderStyle = FormBorderStyle.None 
    f.Visible = True 
    Form1.Pages.Controls.Add(f) 

フォームが表示され書かれています。そのフォーム内のボタンはうまく動作し、コンボボックスはうまく動作し、チェックボックスはうまく動作し、すべての動作はうまく動作しますが、テキストボックスは機能しません。 外パネルを開くためにそのフォームを試してみました。すべてが順調。しかし、パネル内では機能しません。 すべての文字とテキストボックスが透明になります。 お客様ボタンが追加顧客のボタンの後 enter image description here をクリック enter image description here 後にメインフォームが必要enter image description here ページが単独で実行 .... enter image description here enter image description here ヘルプをクリックしました。

+0

あなただけhttps://msdn.microsoft.com/en-us/library/system(コントロールでは、これらを使用することを計画していないスタンドアロン形式として、次に[** 'UserControl' **]を使用している場合.windows.forms.usercontrol(v = 90).aspx)が良いでしょう。 –

+0

パネル内で行う必要があります。さらに、フォームを表示します。しかし、私はなぜ私が間違っているのか分からない。 – user2570995

+0

はい、私はフォームをスタンドアロンフォームとして、埋め込みコントロールとして表示するだけでなく、表示する予定がある場合を意味します。あなたがしない場合は、フォームをUserControlsで置き換えるだけでよいので。問題については、フォームの「TransparencyKey」プロパティは何に設定されていますか? –

答えて

1

解決策が見つかりました。

TransparencyKeyプロパティにColorが割り当てられている場合、同じBackColorを持つフォームの領域は透過的に表示されます。マウスのクリックなど、フォームの透過領域で実行されるマウス操作は、透明領域の下のウィンドウに転送されます。たとえば、フォームのクライアント領域が透明になっている場合、その領域上でマウスをクリックすると、クリックのイベント通知がその下のウィンドウに送信されます。 TransparencyKeyプロパティに割り当てられた色がフォーム上のコントロールと同じ場合は、透明に表示されます。

私はこの透明性のプロパティを知らなかった。 私は背景色を変更しました。 お返事ありがとうございますVisual Vincent .....

このリンクは便利です。 https://msdn.microsoft.com/en-us/library/system.windows.forms.form.transparencykey(v=vs.110).aspx

関連する問題