0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【タスク管理アプリを作る】④タスク詳細表示

Posted at

タスク一覧で選択したタスクの詳細を表示します。
image.png

■仕様
左側のリストボックスにあるタスクを選択すると、
右側にあるグリッドにタスク詳細を表示します。

詳細表示にはPropertyGridというコントロールを使っています。
これが簡単で超便利でした。

■その他
・タスク一覧に同じ名前のタスクがある場合、
 まとめて削除されてしまうバグを直しました。
 タスクIDをキーに削除するようにしました。
・タスクIDの型をクラスにしました。
 今まではintで持っていたのをTaskIDというクラスにしました。
 これは、値オブジェクトという物と考えています。
 (本で読んでまだ完全に理解していませんが。)

■コード
特に特別なコードはないので記載しませんが、
TaskIDクラスというかレコードはこんな感じです。

TaskID.cs
public record TaskID
{
    const int InvalidId = -1;
    public int ID { get; set; }

    // これは、データが無いとか不正な場合にnullとせず、この値を返す事でnullチェック不要になります。
    // 最近覚えました。
    public static TaskID Invalid = new(InvalidId);

    public TaskID() { }
    public TaskID(int id)
    {
        ID = id;
    }

    // NumericUpDownで使うのでDecimalに変換します。
    public decimal ToDecimal()
    {
        return Convert.ToDecimal(ID);
    }

    // これがないと、PropertyGridでTaskID表示した時に数値が表示されません。
    public override string ToString()
    {
        return ID.ToString();
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?