ディレクトリ・階層 の話
よく
./download/hoge.exe
みたいなやつ(linux)とか
C:¥Users¥hoge
みたいやつ(windows)とか
見たことありませんか?
それのお話です。
ファイルって?
コンピュータを人間が使う時の基本的な単位、となります。
音楽(.mp3 .wav ...)もファイル
画像(.png .jpg ...)もファイル
テキスト(.txt)もファイル
エクセルやワードのデータ(.xls .docs...)もファイル
.exeもファイルです。
それ以外にも、ファイルにはたくさんの種類があります。
※ちなみにファイル名のうしろの.◯◯は「拡張子」といいます。
一般に拡張子はファイルの種類を区別するためのものです。
ディレクトリって?
「ディレクトリ」は、windowsで言う「フォルダ」のことです。
windowsでは「フォルダ」という言葉を使っていますが、一般的には「ディレクトリ」といいます。
なかにいろんなファイルがたくさん入ってるやつのことですね。
これですね。
本題
ファイルとディレクトリについてはなんとなくわかったから、本題に入れよ。
........入ります。
ディレクトリ階層というのは、簡単にいうと「ディレクトリの中のディレクトリの中のディレクトリの中の.....」ってことです。
は?
^^;
ディレクトリの中には、ディレクトリが入っても何も問題はありません。
そのため、「ディレクトリの中のディレクトリの中のファイル」みたいなこともたくさんあります。
このような「木」みたいな感じで考えるとイメージし易いでしょうか...?
各ファイルやディレクトリはこのような形で管理されています。
では
./download/hoge.exe
みたいなやつについて
これは、ファイルの場所を示しています。
ディレクトリ◯◯の中の~って示すときには、/(スラッシュ)を使います。(windowsだと¥(円マークorバックスラッシュ)
というか、ディレクトリを示すときは名前のうしろに / を付けます。
また、自分が今いるディレクトリのことは「カレントディレクトリ」、自分のユーザーのディレクトリのことを「ホームディレクトリ」、と言ったりします。
windowsを表面だけ使っている分には意識しませんが、通常、このディレクトリを移動しながら色々な操作をします。
※移動等のめちゃよく使うコマンドについては後日記事にします。
カレントディレクトリの中にディレクトリを作って~その中に移動して~みたいな。
「.」はカレントディレクトリを示していて、「..」はカレントディレクトリを含んでいる一つ上の階層のディレクトリを示しています。
今いる場所が
/home/silmin/download/
だった場合(カレントディレクトリはdownload/)
../ は silmin/ を示します。
こういう、ファイルやディレクトリの場所を示したモノを「PATH(パス)」と呼んだりします。
まとめ
今回は、PATHについての説明をしました。
理解いただけたでしょうか?
イマイチよくわからなかったら質問してくれるとありがたいです。
プロの方々からの指摘もお待ちしています。(知見を吸収したい)
以上、動画視聴やwebページ閲覧等をしているだけだと全く触れない部分だけど、知っていると嬉しいことでした。
ボソッ(ちなみに、URLにも似た部分があるよね)
JOI夏季セミナー2017に参加してきた話
8/26(土)~30(水)で情報オリンピック日本委員会さんが主催する夏季セミナーに参加してきました。
はじめに
これは僕目線の記事になるため、プロ目線を期待している方はご遠慮ください。
場所
公益財団法人 大学セミナーハウス 公式ホームページ
↑こんな感じの辺境
↓宿泊棟の中はこんな感じ
概要
合宿形式の勉強会で、色んな人と交流して知見を高め合おう。
セミナーとして情報科学等の本をみんなで読んで強くなろう。
みたいな感じです。
春合宿に参加していたメンバーは自動参加で、残りは応募制で作文を書いてメールで送る。
僕は応募勢で、作文が通ったので参加可能となった。
セミナー一覧
それぞれ教科書となる本があって、チューターさん1人がついてくれる。
25人が5人ずつに分かれてグループでやる感じ。
日程
全体としては
Day1~4がセミナー&スライド作成
Day5が発表
という感じでした。
Day1
~15:30集合開始だった。
僕はJOI常連マンではなく、JOI系イベ初参加だったので皆知らない人ばかり。
とても緊張した。一応知り合いが何人か参加していたためボッチにはならずに済んだ。
周りの人たちがみんなプロに見えた(実際そう)
そして、全員集まって自己紹介が始まる。
ここで僕、持ってきた環境に色々と入っていないことに気がつき、慌てて環境構築()
自己紹介で、Twitterで見たことある人が結構居るなぁってお気持ちになった。
僕は「純粋関数型データ構造」のセミナーを選んだ。
言語は Haskell を使うらしい。僕は初めて Haskell をやる。
宿泊施設もまあまあ良くて、5日間生きていけそうである。
Day2
この日はセミナーの他に、講義があった。
JOIのOBらしいがよく知らない。
プロそうな話をしていたが、僕は意識が飛んでしまっていたらしい(ごめんなし)
Day5
発表の日。
今までのセミナーの部屋とは別の講堂というところで発表会をした。
僕は Haskell Introduction というタイトルでHaskellとは...みたいな話を適当にした。
15:00頃に解散した。
全体の雰囲気
情報界隈特有の雰囲気があるのは確か。
僕もその界隈の人なので気にはならなかった。
ピリピリした感じは無く、むしろゆる~い感じだった。
感想
最初は「競プロ界隈でグループができていてボッチ確定ですわ・・・」とか「周りプロ過ぎて喋れる気がしない・・・」とか思っていた。でもプロなのは間違いないが、普通に喋ってくれる人たちばかりで嬉しかった。テトリスプロ勢が多くてビビった。交流の時間もあって助かった。
Haskellは神言語で心を綺麗にしてくれると分かった。Haskellは普通に勉強したい。
ご飯のたびに登山下山をせねばならず、足腰がヤバだった。
それともやし先輩というプロの影響でルービックキューブを買った。
まとめ
参加してみてわかったことは、Twitter上でプロっていてヤバな人たちでも会ってみると普通。
ある程度の意識の高さと前提知識がほんの少しあればついていけると思う。
Linux Mint 仮想マシンとデュアルブート比較
今回は、Linux Mintを仮想マシンとデュアルブート両方の環境を建ててちょっと使ってみての感想というかなんというかそういうものを書いていくよ。
あくまで僕個人の感想ですし、まだ両方共に使いこなせてない感があるので適当に読んでください。
それぞれの良い点悪い点
仮想マシンの良い点
- ファイル共有が楽。VirtualBoxで共有フォルダを作成します。
- 複数環境構築するのが楽。
- ホストOS(windows10等)を起動しながら動かせる。
デュアルブートの悪い点
- ホストOSと同時に動かせないから、並列してどうこうはできない。
- 初めてだと構築にめちゃくちゃ緊張する。
まとめ
どちらも長所短所を持っているので、自分に合った方を選ぶといいと思います。
その人がどう使うかにもよるので、正直どっちがいいとかわからないです。
僕自身としてはデュアルブートの方がいいと感じましたね。
僕はLinuxを触るとき基本windows触らないし、メインPCがwindowsだから全然不便はないです。
今回比較対象にしたマシンがThinkPad13というノートPCだったので、こういう結果になったのかもしれないです。
個人的に
- ハイスペックPC
- 同時に使いたい
- いろんな環境建てて楽しみたい
という方
- スペック低めで用途が限られている
- 設定面倒
- 重いの面倒
という方
におすすめって感じになるかと思います。
正直、ノートPCで仮想マシンはストレスマッハでした。
Linux MintをThinkPad13にデュアルブートした話
タイトル通り、ThinkPad13にLinuxMintをデュアルブートしてみようと思い立ったのでやった話です。
既にVirtualBoxでLinuxMintの環境は用意しているのですが、比較も兼ねてやってみました。
VM記事はこちら↓
silmin.hatenablog.com
デュアルブートってなんぞ
デュアル(2つ)のブート(起動)です。
起動時に、つかうOSを選ぶことができます。
例:同一マシンにwindowsとLinuxを入れてある場合
今日は、Microsoft Officeや動画編集とかめちゃくちゃしたい→Windows
今日は、プログラム書くのとかLinuxでやったほうが効率いいことしたい→Linux
てな感じで、同じPCでつかうOSを起動時に選べるということですね。
どちらかだけしか使わないよ!ならいいんですが、
windowsも使うけどLinuxも使いたい!同一マシンで!という方なら嬉しいですね。
一応、起動時にOSを選択するので、VMのように共有フォルダが標準でついてるってことは無いです。
まあでも、windowsのC:が標準でマウントされていると思うので無問題かな?
注意書き
私は↓の記事を参考にやりました。めちゃ丁寧に説明されています。
www.iandprogram.net
こちらの記事を見れば大して困ること無く成功すると思います。
UbuntuのところをLinuxMintに置き換えれば大丈夫だと思う。
この記事は説明記事というより、やった感想とか使い心地とかを書くものになりそうです。
ご了承ください。
用意するもの
人それぞれ違うと思うので僕の場合もついでに。
- ThinkPad(デュアルブートに使うPC)
- USBメモリ(FAT32)(4GB以上)※私は8GBのものを使いました。
- LinuxMintの.isoファイル(私は18.2-cinnamon-64bit)
- UNetbootin(isoファイルからUSBメモリにLiveCDを書き込むソフト)
くらいかな。
手順
参考にさせていただいた記事にまんま乗ってるので簡単に
って感じです。
Windows10と仮想マシン上のLinux Mintの共有フォルダの話
今回は共有フォルダについて設定したので色々。
設定方法
まとめ(仮)
一応、コレで共有フォルダは作ることができた。
/media/sf_[フォルダ名]/ 以外に共有ディレクトリを作りたければ、さらにいろいろやることがある。
今回は面倒だったのでやりませんでした。
でも毎回 /media/sf_[フォルダ名]/ ってタイプするのが面倒ですよね。
僕も面倒です。
シンボリックリンクとは
.............................リンクです。
ウンウン......エッ
簡単に言うと、デスクトップにあるショートカットみたいなイメージです。
↓/hoge/hoge2/.../hoge3/tempのシンボリックリンクをホームディレクトリに貼った場合
コマンドはこちら
# ln -s /hoge/hoge2/.../hoge3/temp templink
lnコマンドの-sオプションがシンボリックリンクを貼るオプションです。
# ln -s [リンク先] [リンク名] //管理者権限必要です
って感じです。
例
// /hoge/hoge2/.../hoge3/temp/ に hello.c をコピー cp hello.c templink
共有フォルダにアクセス出来ない場合
共有フォルダへのアクセス権が無くて操作できない場合があります。
その場合は以下のコマンドを実行してください。
# gpasswd -a [ユーザ名] vboxsf //管理者権限必要です
vboxsfというグループに追加するコマンドですが、そのグループに追加されたユーザのみ共有フォルダにアクセスできるようです。
雑談 2017/08/15
救急車に乗った話
今日人生初、救急車に同乗しました。
同乗ですよ同乗。
僕が運ばれたわけじゃありません。
誰がどうしてって言う話は控えますが、意外と冷静でいる自分に驚きました。
その人のことをどうでもいいと思っていたわけではなく、むしろ超心配していました。
どうでもいいとか思ってたら同乗なんてしないよね。
人間めっちゃ動揺すると逆に冷静になるのか、それとも僕のメンタルが超鉄鋼だったのかわかりませんが、自分でもびっくりしました。
車内はピッピッって音と隊員さんの話とか質問とかの音とサイレンの音がしていました。結構怖かったといえば怖かった・・・のか・・・・・?
まあ焦ってもしょうがない局面ではあるのですが、人生初なのにこんなもんなのかとそっちに動揺したくらいです。
今日はそれ関係のゴタゴタに見舞われて、何もできませんでした。
とりあえずめちゃくそ疲れたので、早めに寝たいと思います。
明日も色々あると思いますが、絶対記事あげます。
にしても、車に横向きに座るの辛いね(電車は大丈夫)
まだその救急車に揺れる感覚が残ってるくらいです。
VirtualBoxにLinux Mintを入れた話
CTF用の環境を作るためにLinuxMintをVirtualBoxに入れました。
その手順メモ?的なもの。
VirtualBoxとは
VirtualBoxというのは仮想環境を提供してくれるフリーソフトです。
???
簡単に言うと、PCのOS上に仮想のPC(マシン)を用意してそこにOSを入れることで、物理的な実体はないけどそこにそのOSが入ったPCを再現できるということです。
?
こういうこと
物理マシンは、仮想マシンを入れるPCのこと。
僕だったら↓でちょっと紹介したThikpad(windows10)ちゃんです。
silmin.hatenablog.com
ゲストOSは、Linux系それぞれの公式サイトで無料でイメージファイルが入手できます。
!
OSのイメージファイルの入手
OSをインストールするにはイメージファイルというものが必要になります。
イメージファイルとは、記憶装置に記録されたデータを、ファイルやフォルダ構造を保ったまま複製・保存したデータのことである。
イメージファイルは、ハードディスクなどに記録されたデータ構造を仮想的に再現(エミュレート)することで、ファイルシステムのファイル構造を保ったままデータを記録している。これによって、複製した元のデータと全く同じようにファイルやフォルダにアクセスすることができる。イメージファイルはバックアップの作成などの目的で、ハードディスクの内容をそのCD-Rに複製するような場合によく用いられている。
Weblio 辞書 > コンピュータ > IT用語辞典 > イメージファイルの意味・解説 より
ですね。
今回は Linux Mint をインストールします。
Linux MintはUbuntuから派生したディストリビューションになります。
なんでMintかというと.....好きだからです。かわいい。は?
Releases - Linux Mint
より、ダウンロードしてきます。
[注意] ここでは32bitOSを用います。詳細は後ほど。
OSのインストール
いよいよ、OSのインストールです。
- VirtualBoxを起動します
- 左上の[新規]をクリック
- 名前は任意、タイプはLinux、バージョンはUbuntu(32bit)を選択
- メモリとかストレージの設定とかする
- 終わったらその[設定]を開いて、ディスクイメージを設定
- [起動]を押して、後は指示通りにすすめて終了
ストレージ>光学ドライブ>右のディスクアイコンからイメージファイルを選択
こんな感じ
64bitOSを用いたい方は
did2memo.net
を参考にするといいでしょう。
今回はめんどくさいのでしません。
Dockerとかおもしろそうだけどやったこと無いのでやったら記事にします。
どこか違ってる所あったら言ってほしいです><
共有フォルダの話
見た目をちょっと変えた話
このページの見た目、初期設定のままでもシンプルで好きだけど、ちょっとはいじるか。ってことでいじった話。
ブログの見た目変更
テーマ変えたり、html/css使って見た目ちょこっといじったりしたよ。
どうだろうか、まだまだ改善の余地はあるけどまあ一応完成ということで。
現在のテーマ
moonnote.hateblo.jp
このテーマが綺麗だったので使わせてもらう。
結構これ人気みたいだね。
知識さえあれば作れるみたいだから、とりあえず暇になったら作ってみようかな?
にしてもあれだね。
はてブの見た目変えるの結構面倒だね。
僕はある程度、JavaScript,html,css は一通りやれる人だけれども、面倒だった。
ググったら「◯◯する方法!!!」とか「これをコピペするだけ!!」とかあったけど、僕はそういうの嫌いな人なので自分でソース読んでやりました。
※どうでもいいところで損するタイプの人間です。
F12押してどこがどれに対応してるか調べて、cssちまちま書いてく作業は楽しいっちゃ楽しいけども、やっぱり面倒だった。
人のソース読むのはやっぱり大変だ。これなら自分で1から作ったほうがいいってレベルで面倒なんだよね。(cssに関しては)
まあこんなこと言ってるけど、自分でwebサーバ立ち上げるリソースを持っていないので無理なんだけども。
記事のネタが切れたら気が向いたらブラウザの開発者ツールの話もしようかなぁ
あ、あとプログラムの初心者向けの記事とかも積極的に書いていこうと思うよ。(初心者()だから初心者の気持ちがわかる的な目線で行こうと思う)
雑談 2017/08/06
雑談。
そう、雑談。
決して書く内容無いからとかじゃないんだからねっ!!!
作業用BGMについて
皆さん、「作業用BGM」って聴きますか?
作業しないって人も居るだろうし、BGM聞かず無音でやるって人、友達とskypeしながらやるって人、色々居ると思います。
とりあえず。
作業用BGMいいぞ^~~~~
理由は特にないです。
僕自身は、作業中にBGMをめちゃ聴く人、というかそれがないと作業辛いっていう人です。
一口に「作業用BGM」と言ったって、色々ありますよね。
ヒーリング系、自然音系、ジャズ、クラシック、アニソン、等々・・・・・・・
ここで僕はバイノーラル(耳かき)音声を強くおすすめしたい!!
なぜかって?
気持ちいいし女の子と喋ってる気がしてうれしいからです!!!!!
キモいね
コード書いたりしてると寂しくなるからねしょうがないね。
まあバイノーラル音声は好き嫌いが大きく分かれる分野でもあるのであれですが。
僕はここでは四の五の言わない。
とにかく聴いてみて、そして感じて。
バイノーラル音声って何?
バイノーラル音声っていうのは、簡単に言うと「立体音響」の音声のことです。
音楽って両方のイヤホンないしヘッドホンから聴こえますよね?
ですが、立体音響というのは、喋ってる場所からしか聴こえません。
音の発生源に立体感があります。
上で喋ってるなら上から、左で喋ってるなら左から、聴こえます。
とにかく聴いてみようって人は
「バイノーラル音声」
って検索してもらえればたくさん出てくるのでそれを試しにどうぞ。
Youtubeには無断転載がたくさんあったりするので、是非好きな声優さんを見つけて、DLsite等で買ってみてもいいかもしれません。
www.dlsite.com
コレの耳かきが最高なのです・・・・・。
paizaのキャンペーンについて
これです
paiza.jp
すごいね、やるしかないね。
paizaってなに?って人はこちら
paiza.jp
まあ簡単に言うと、プログラミングに関する、就職・転職・学習・・・等々色々やっているところです。
E~Sランクまであり、各ランクごとに競プロの問題が用意されていて、それで自分のランクがわかるって言う感じです。
競プロ問題目当てでも全然OKですので興味あったら登録してみるのもいいかもしれません。
僕は競プロあーじゃありませんが、一応Sランク獲れているので、ちょっと勉強すれば初心者の方でも狙えるところかと思います。
本題です。
この問題自体は難しくありませんが、重要なのは経路長を短くすることです。
まだ、キャンペーン期間中なので喋りませんが、終わったら記事にします。
すごいね。このキャンペーンはやるしかないね(二回目)
webブラウザを自作したい!(4)
はい。
今回は前回言ったように、戻る・進む・再読込ボタンを作ろうぜ、っていう回です。
SS↓
最初は、「戻る」も「進む」もできないので暗い。
helloと検索して進んだので「戻る」ができるようになった
戻ったら逆に「進む」ができるようになった
しっかり再読込もできるよ!!!
やることはめちゃ簡単です....................が、めちゃ大変でした。(は?)
今日の荒ぶり度合い(詳しくは余談で)↓
ちょっとコード書くかぁ
— mina (@silmin_) 2017年8月7日
あーモチベが迷子
— mina (@silmin_) 2017年8月7日
コンパイルした後にすぐ実行ファイルが消滅するのは何なの
— mina (@silmin_) 2017年8月7日
何となく/target:winexeが悪そうなのは解ってる
— mina (@silmin_) 2017年8月7日
つけなければ残るんだよね、でも実行時にエミュ開かれるので嫌。なんか相性悪い奴がいるのかなぁ https://t.co/u0jDHDGJai
— mina (@silmin_) 2017年8月7日
そう、実装内容とは全くと言っていいほど関係ない所で躓いていました^^;;;;;
そんなこんなで見ていきましょう。
戻る・進む・再読込ボタンの実装
はい、やることは簡単です。
ボタン配置して、それにClickイベント乗っけて、GoBack()なりGoForward()なりRefresh()なりをするだけです。(ホントに)
実際には画像貼るとか枠線消すとかしましたが、メインは↑のことするだけです。
ソースコード
ボタン達初期化
urlBox = new TextBox() { Location = new Point( 90, 2 ), Size = new Size( 1000, 20 ), Font = new Font( "meiryo", 10 ) }; backButton = new Button() { Location = new Point( 0, 0 ), Size = new Size( 30, 30 ), BackgroundImage = Image.FromFile( @"img\back_clear.png" ), BackgroundImageLayout = ImageLayout.Stretch, FlatStyle = FlatStyle.Flat }; forwardButton = new Button() { Location = new Point( 30, 0 ), Size = new Size( 30, 30 ), BackgroundImage = Image.FromFile( @"img\forward_clear.png" ), BackgroundImageLayout = ImageLayout.Stretch, FlatStyle = FlatStyle.Flat }; refreshButton = new Button() { Location = new Point( 60, 0 ), Size = new Size( 30, 30 ), BackgroundImage = Image.FromFile( @"img\refresh.png" ), BackgroundImageLayout = ImageLayout.Stretch, FlatStyle = FlatStyle.Flat }; backButton.FlatAppearance.BorderSize = 0; forwardButton.FlatAppearance.BorderSize = 0; refreshButton.FlatAppearance.BorderSize = 0;
各ボタンの初期化を行っています。
backButton・・・戻るボタン
forwardButton・・・進むボタン
refreshButton・・・再読込ボタン
おそらく新要素はここ?
BackgroundImage = Image.FromFile( @"img\forward_clear.png" ), //名前の通り背景画像設定 BackgroundImageLayout = ImageLayout.Stretch, //画像のスタイル?を変更(並べるとかフィットさせるとか中央とか)←ここではフィットさせてる FlatStyle = FlatStyle.Flat //ボタンのスタイルを変更
画像のパスの@は「\をエスケープ文字じゃなく階層区切りとしてみる」という意味があります。
@がない状態だと\はエスケープ文字と捉えられてしまい、\を使うには\\と記述する必要がありますが、先頭に@をつけることで、普通につかえてうれしいですね。
画像のスタイル?についてはここ↓
コントロールやフォームに画像を表示する: .NET Tips: C#, VB.NET
これはあくまで背景をいじってるだけなのでButton.Imageプロパティとは違います。
今回は文字も表示しないので変わりないと思い、これを採用。
ボタンのスタイルについてはここ↓
01.フラットスタイルの外観を変更する < Button Tips < コントロール Tips メニュー < C# 2005 Tips HOME < HIRO's.NET
昔の記事ですが全然問題ないかと。
今回はフラットにしてます。(かっちょいいので)
backButton.FlatAppearance.BorderSize = 0; forwardButton.FlatAppearance.BorderSize = 0; refreshButton.FlatAppearance.BorderSize = 0;
これはボタンの枠線の太さを変更しています。
0に設定しているので実質枠無し、にしています。(かっちょいいので)
新しいメソッド群
private void Browser_CanGoBackChanged( object sender, EventArgs e ) { backButton.Enabled = browser.CanGoBack; if( backButton.Enabled ) backButton.BackgroundImage = Image.FromFile( @"img\back.png" ); else backButton.BackgroundImage = Image.FromFile( @"img\back_clear.png" ); } private void Browser_CanGoForwardChanged( object sender, EventArgs e ) { forwardButton.Enabled = browser.CanGoForward; if( forwardButton.Enabled ) forwardButton.BackgroundImage = Image.FromFile( @"img\forward.png" ); else forwardButton.BackgroundImage = Image.FromFile( @"img\forward_clear.png" ); } private void backButton_Click( object sender, EventArgs e ) { browser.GoBack(); this.ActiveControl = null; } private void forwardButton_Click( object sender, EventArgs e ) { browser.GoForward(); this.ActiveControl = null; } private void refreshButton_Click( object sender, EventArgs e ) { browser.Refresh(); this.ActiveControl = null; }
CanGo....Changedというイベントは、「戻る」または「進む」の可不可が変更されると、発火します。
CanGoBackやCanGoForwardはboolで、戻れるかどうか、進めるかどうか、を持っています。
可能か不可能かで画像を変更したかったので書きました。
...Button_Clickというイベントは、文字通りそのボタンがクリックされたら発火します。
GoBack()やGoForward()、Refresh()はそれぞれ戻る・進む・再読込を行うメソッドです。
this.ActiveControl = null;
これは移動した時に、何らかのボタンを選択してしまっていることがあるので、ちょっとかっこ悪いかなぁと思って書きました。
これはデフォルトなのでしょうか。コードの意味は文字通りです。
余談
最初に言った躓いたところについてです。
僕は普段、自分用フォームアプリケーション作るだけならVisualStudioは使わずvimで書いて、付属のcscでコンパイルしています。
VSは嫌いなのでね
UWPとかやるなら話は別だよ。
そのコンパイルオプションで /target:winexe というものがあるのですが、これを付けると実行したときにコンソールが開かないので嬉しいです。
というか、実行時にコンソールいちいち開かれても邪魔なのでね・・・^^;
それで、そのオプションを付けると.exeファイルが作られた直後に消失するという現象がおきまして。(は?????)
これには名前があるのかどうかわかりませんが、かなり焦りました。
なんか、色々デバッグした感じ、イベント貼ってないButtonがあって、そのボタンについて
Button.FlatAppearance.BorderSize = 0;
をするとその現象が起きるということがわかりました。
なにを言ってるのかわからないと思います。
僕もわかりませんので。(だれか早く教えて)
今日はこれにて。
明日時間があればお気に入り機能つけたいと思います。ノシ