先のウィンドウの外に、テキストや画像をおきたい、というご質問からの連想ですが、
https://www.slideshare.net/Fujikido/wpf-43413758
とか、「C# デスクトップマスコット」で検索してみると、よいと思います。
というのは、ご質問のように、Windows Formでもおなじことはできるかと思いますが、WPFなら、
- ウィンドウが邪魔! デスクトップマスコットにウィンドウ枠は不要なので消す
- AllowTransparency="True" WindowStyle="None" を指定すると描画がレイヤードウィンドウ上で行われる (レイヤードウィンドウ: Windows 2003くらいから追加された非矩形ウィンドウ用機能) さらに Background="Transparent" を加えることでウィンドウが不可視化 ※デバッグ中は完全透明でなく半透明にするのも有効 補足:今設定したのって何? 半透明にしたい場合 Background="#80008000" A R G B
- ウィンドウが消えた! ウィンドウ表示が消えれば成功。実行して動作確認 ※「閉じる」ボタンが無いのでタスクバーから消すかAlt+F4で終了
- 動作チェック うまく行ってる場合の実行結果
- 機能を増やしてみる 現状はただ表示しただけなので最低限の改善が必要 - 「終了」コマンドの用意 - 掴んで動かす
- 「終了」コマンドを追加 右クリックメニューを作成: <Grid>の手前に追記 イベントハンドラの宣言
- イベントハンドラの実装 イベントハンドラをC#で実装(やっとC#の出番) ソースコードファイル"MainWindow.xaml.cs"に追記
- 掴めるウィンドウ 掴んで動かす機能、たったの4行
とかで、ほんの数行でウィンドウを透明にしたり、透明にしたオブジェクトを移動できたりします。
Formアプリケーションの場合、テキストの背景を透明にすることは事実上不可能(そうとう難しい)なので、WPFで、このスライドシェアの通りに作ってみれば、まず基本的なことを達成できるかと思いますよ。