昔 Flex で透明ウィンドウ作った事があったので、C# でもできるだろうと調べてみたら普通にありました。凝っても仕方無いので向きの切り替えとかコンテキストメニュー等は好みで追加すればいいと思います。 オンラインで授業やるのに欲しいなぁと思い作ってみましたので、自分はこれで十分です。
エディタ部分は、richTextEditor です。( 縦スクロールバーが文字列があふれた時に表示されます )
using System;
using System.Drawing;
using System.Windows.Forms;
namespace TransForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// フォームの境界線とタイトルを表示しない
this.FormBorderStyle = FormBorderStyle.None;
// 画像サイズ
this.Size = new Size(584, 396);
// 画像を読み込む( 吹き出し部分以外青 )
Bitmap bmp = new Bitmap("fu2.png");
// 透明にする色
Color tColor = Color.Blue;
// 背景画像に指定する
this.BackgroundImage = bmp;
// 透明を指定する
this.TransparencyKey = tColor;
// ウインドウを richTextBox 以外で移動できるようにする
this.MouseDown +=
new MouseEventHandler(Form1_MouseDown);
this.MouseMove +=
new MouseEventHandler(Form1_MouseMove);
}
// マウスのクリック位置
private Point mousePoint;
// マウスのボタンが押された
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
// 押された位置
mousePoint = new Point(e.X, e.Y);
}
}
// マウスのドラッグ処理
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
this.Left += e.X - mousePoint.X;
this.Top += e.Y - mousePoint.Y;
}
}
}
}
|
|
【VS(C#)の最新記事】
- Replit : cs-list
- C# : Excel の新しいブックのデフォルトのシートのセルに直接値をセットして、オートフィルを Range オブジェクトから実行する
- C# のタプル( Visual Studio 2017 でテスト )
- C# : インターネット上の JSON ファイルのフォーマットを クラスとして定義して1行でオブジェクト化して使用する
- C# の文法的文字列処理
- C# : System.Data.Odbc によるデータベースのテーブルからのデータ取得処理( サンプルの SQL は MySQL 用です )
- C# : Excel を データベースとして DataGridView に読み込む
- C# : dynamic 型 による Excel へのアクセス
- C# : フォームを表示せずに、通知領域にアイコンを表示させる常駐プログラム
- Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
- C# : System.Data.Odbc データ取得(SELECT)処理( MySQL ) : ※ using 無し( Dispose 実行 )
- C# : SQL 文を外部テキストにして、String.Format でデータ部分を置き換えて利用する
- C# コンソールアプリを AN HTTPD で実行
- C# : SQLServer( SQLExpress ) の SMO を使用してテーブルの CREATE TABLE 文 を取得する
- C# : DataGridView に TKMP.DLL の IMAP(POP3) で受信したメールを非同期に表示する( 添付ファイルも取得 )
- C# : TKMP.DLLを使った、メール送信テンプレート
- C# と VB.net : TKMP.DLL を使って IMAP でメール本文の一覧を取得する( コンソール )
- C# でDataTable と DataSource を使用して、DataGridView にデータを表示するテンプレート( 行をダブルクリックしてダイアログを表示して行データを処理 )
- (C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート
- C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (4)






