SQLの窓

2020年05月02日


C#( Form ) : ウインドウ枠の無い吹き出しの作成

昔 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#)の最新記事】
posted by lightbox at 2020-05-02 18:11 | VS(C#) | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり