2

これは私が抱えている非常に単純な問題ですが、私の人生では、それを機能させることができないようです. 私は一通り見ましたが、適切に機能する同様のソリューションを得ることができませんでした。

基本的に、単純なフォーム A と B に 2 つのパネルがあり、B は A の中にネストされています。

*注: パネル A には背景画像があり、両方のパネルの色は透明に設定されています*t

パネル B の内側に文字列を描画したいのですが、表示する必要があるため、パネル A の上に描画します。

パネル B の Paint メソッドをオーバーライドしようとしましたが、うまくいきません。以下のコードを使用すると、パネル B がパネル A の内側にネストされていない場合 (パネル A の隣など)、テキストが画面に描画されます。

Private Sub panelB_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles panelB.Paint

        e.Graphics.DrawString("My Text", New Font("Arial", 60, FontStyle.Regular), Brushes.Orange, New Point(0, 0))
        panelB.Refresh()
End Sub
4

1 に答える 1

1

での描画に問題はありませんが、ペイント イベントをpanel呼び出すことはできません。これは無限ループのようなもので、何も描画されません。RefreshRefresh は、ペイント イベントを発生させます。

于 2013-04-28T00:39:29.937 に答える