ごまなつ Blog

楽しく働ける世界を目指して

2020-01-01から1年間の記事一覧

【健康】「沼」の簡易版を3か月食べ続けた結果

たまには健康に関する話をしようと思います。 皆さんはYoutuberのマッスルグリルさんをご存知でしょうか? ボディービルダーの方と、格闘家の方がやっているYoutubeチャンネルです。 トレーニングの動画もありますが、料理の動画もあります。 その中で、炊飯…

カフェインとスポーツ

この記事はCoffee Advent Calendar 2020の3日目の記事です。 カフェインの効果 カフェインはコーヒーに多く含まれているといわれています。カフェインの効能は、 眠気覚ましなどの興奮作用や尿の排出を促す利尿作用などが広く知られていますが、このほかにも…

【Windows10】クリップボードの履歴機能が存在する

Windows10では、標準でクリップボードの履歴機能が搭載されています。クリップボードとは、コピーまたは切り取りした内容です。貼り付けできるものですね。クリップボードに何か存在する状態で新たにコピーまたは貼り付けをすると、最新のものしか貼り付けで…

【キーボード】ローマ字テーブルを変更する

ローマ字テーブルは変更できます。「くぁ」を入力するために必ず「qa」を打たなくてもよいのです。 変更方法 IMEの設定を開きます。時計の左のIMEのアイコン(「あ」とか「A」とか書いてある)をクリックして、プロパティをクリックします。詳細設定をクリ…

【Hugo】 Academic Themeを使ってポートフォリオを作ってみた

Hugoを使って、簡単に自己紹介ページを作ることができました。Hugoは、goで実装されている、静的サイトジェネレータです。 こちらが作成したサイトです。 gomana2.dev 静的サイトとは? 静的サイトとは、形が決まっている静的アセットを事前に配置しておき、…

【C#】ダイアログを出した後フォーカスがSplitConteinerの境界線に当たる

結論 原因はよくわかっていないが、this.ProcessTabKey(true);を入れると治った 経緯 画面にSplitConteinerを使って2つのパネルを配置していました。境界線にもフォーカスが当たるので、TabStopをfalseに変更し、フォーカスが当たらないようにしました。し…

【C#】ListViewがNonClickableの状態で、カラムヘッダーを右クリックしても右クリックメニューが出る

ListViewは、ItemのSubtextが追加されるとカラムに分けられます。ヘッダー部分をNonClickableで表示し、ListViewにContextMenustripを設定していました。。 NonClickableでも右クリックメニューは出る NonClickableですが、MouseClickイベントは発生しません…

【C#】ListViewのアイテム選択が外れる

ListViewを使っており、ContextMenustripを使っていました。選択されているItemが空白の場合と空白でない場合でContextMenustripの内容を変更していました。 アイテム選択が外れる場合 ListViewは、最終番号の下に空白が存在します。スクロールバーを表示す…

【outlook】定期的にメールを送信したい

業務の中で、同じ内容のメールを定期的に送信したいことがあると思います。そのようなときに、完全に自動とまではいきませんでしたが予定のアラームをクリックすることでメールを送信することができました。 参考サイト https://docs.microsoft.com/ja-jp/ou…

【C#】ファイル名は大文字小文字を区別しない

File.Exists()で存在確認をしたり、ファイルパスを指定してファイル保存をすることがあると思います。その時、ファイル名は大文字小文字を区別しません。 どういうことか? 例えば、デスクトップに「FILE」というファイルがあるとします。File.Exists()で存…

【C#】ReadOnlyのDataGridViewでも、ComboboxColumnやButtonColumnは押せる(例外が出る)

内容を表示するだけで、操作させたくないDataGridViewを表示するとします。今回は、DataGridViewComboboxColumnを追加していました。 参照だけにしたいならReadOnly 参照だけにしたいならReadOnly=trueとすれば読み取り専用になります。が、DataGridViewComb…

【C#】filestreamは既存ファイルに上書きできないのか?

zipファイルを読み込み、中身のxmlファイルの内容を編集してzipファイルを保存するソフトを作っています。その中で、「多重起動できて、同じファイルを開いたときは2つ目以降は編集できないように、異なるファイルは編集できるように」という要望があったた…

【C#】DataGridViewで、チェックボックスの列を一括で変更したい

DataGridViewでチェックボックスの列を一括で変更したいときに苦しんだメモです。 DataGridViewの値を取得したいとき DataGridViewには、3つのValueが存在します。 Value FormattedValue EdittedFormattedValue Datagridviewは、実は表示用のDataGridViewが…

【C#】ListViewのSelectedIndex変更禁止に立ちふさがる壁

C#のListViewにて、ある条件のときは選択しているアイテムを変更させないようにしたいことがありました。アイテム変更なのでitemSelectionChangedを用いました。選択しているアイテムの変更は、 選択しているアイテムの選択が外れる 何も選択されていない状…

【C#】UnixTimeの現在時刻変換でやらかした2点

UnixTimeから現在時刻に変換して表示をしていたのですが、2点やらかしたので、そのまとめです。 変換には以下を用いました。 private readonly static DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static long ToUni…

「これからの生き方。」を読んだ

あなたの価値観はどのようなものですか? これがこの本の主題だと感じました。生き方を自分の価値観に従ったものにすることで幸せに近づける、自分の価値観を知って生き方を考えようと語りかけられている気がしました。 概要 最初は漫画で、仕事への価値観が…

【C#】BinaryFormatterを用いた配列のコピーはかなり遅い

結論 配列をディープコピーしたいのであれば、一つずつコピーした方が良いです。 経緯 C#では、クラスの配列をArray.Copyしたときシャローコピーになります。正確に言うと、2階層目からシャローコピーになります。1次元の配列であれば、Array.Copyでディープ…

【C#】DataGridViewComboBoxを一度のクリックで開きたい

結論 F4を押す処理を追加する方法が出てくるが、F4はALTと同時押しするとアプリケーション終了になるなど、ショートカットキーに使われており何か起こる可能性があるのでお勧めしない。 CellEnterイベントで、DropedDownを使おう private void DataGridView_…

【C#】親フォームの中央に子フォームを表示したい

結論 親フォーム側で子フォームを呼び出すときに、 var frm = new Form1; frm.Owner = this; frm.StartPosition = FormStartPosition.CenterParent; 経緯 フォームアプリを作っており、子フォームにデータの内容を入力して、その内容を親フォームに反映する…

【C#】FolderBrowserDialogが使いにくいので、OpenFileDialog でフォルダを指定する

こちらの記事を参考にしています。 qiita.com 実現できるメソッド void BrowseFolder() { using (var ofd = new OpenFileDialog() { FileName = "SelectFolder", Filter = "Folder|.", CheckFileExists = false }) { if (ofd.ShowDialog() == DialogResult.O…

【C#】ドラッグ&ドロップが作動しないのは、権限が異なるため

ドラッグ&ドロップでファイルパスを取得する機能がWindowsアプリにあります。その機能を実装したにもかかわらず、VisualStudio上で動かしてもこの機能が動作しない。ドラッグ&ドロップできるときは、マウスカーソルが変化しますがそれすらも起こらない。調…

【C#】クラスの配列要素の代入は、シャローコピーになる

C#で、xmlファイルをシリアライズ・デシリアライズするためのクラスを宣言して、その内容を変更していました。そこで、配列要素の代入なのにシャローコピーに苦しめられたのでメモです。 public class exampleclass { [System.Xml.Serialization.XmlElement(…

【C#】ウィンドウの大きさに応じてパーツの大きさも変えたい

デフォルトでは、ウィンドウを最大化しても配置されたパーツはその大きさのままで、変更されません。そのため、不自然になります。ウィンドウの大きさに追従して、パーツを大きくするためには、Anchorプロパティを変更します。 Anchorプロパティ ウィンドウ…

【C#】配列のコピーは=でやってはいけない

基本的な話です。 配列aを配列bにコピーして、その後配列bの要素を変更したいとします。 a[3]=[1,2,3] b[3]; a=b; b[3]= b[3]+2; 普通にコピーするだけならこれでいいだろ、と思うのですが、これでは参照ごとコピーされ、a[3]の値も変更されてしまいます。つ…

【C#】ListViewで移動禁止にしたい

結論 private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (e.IsSelected && (e.Item != selectedItem)) { if (isChanged) { e.Item.Selected = false; selectedItem.Selected = true; if (Counter)…

【C#】ListView_SelectIndexChangedは、一瞬-1がインデックスに入る

ListView_SelectIndexChangedは、ListViewの選択されているアイテムのインデックスが変更された時に発火するイベントハンドラです。なので、処理は private void ListView1_SelectedIndexChanged(object sender, EventArgs e) { //何らかの処理 } となります…

「アジャイルな強いチームを作るチームビルディング超実践ガイド」を読んでの感想

TL;DR チームビルディングのやり方がわからない人にぜひ読んでほしい。意義とやり方がわかる。 同人誌なのにカバーと帯がついてるよ。まるで商業誌のようになってるよ チームビルディング 私は組み込み系の職場であり、一人が担当製品のソフト面、一人が担当…

多くのボードゲームはなぜ4人用なのか

私の持論ではありますが、なぜ個人勝負のボードゲームが4人用なのか考えたことを書きます。 TL;DR 2人用だと万人受けしない、3人用だと一人勝ちする人が出る、5人以上用だとゲームが長くなりがち。4人用だと家族でやりやすいといった点もある(ヨーロッパの…

xmlファイルのencodingと実際の文字コードが異なっている場合どうなるか

結論 serealizeの行でエラーになります。文字コードをそろえればうまくいきます。 背景 XMLファイルを読み書きするにはいろいろ方法がありますが、今回はシリアライズ、デシリアライズを使って読み込むことにしました。XMLファイルの構造に従ってクラスを作…

ゲーミンググラスG-SQUAREからPLAIDeに乗り換えて2ヶ月経った

私はゲーミングアイテムを集めたり使ったりするのが好きです。そして視力が悪いので医療器具として眼鏡をかけています。2年前、ゲーミンググラスの存在を知り、G-SQUAREを使うようにしました。最近、PLAIDeというゲーミンググラスが発売され、そちらが気にな…