Конечно; это будет зависеть от структуры и архитектуры. C # WPF будет иметь другой способ сделать это, чем C # WinForms, который будет отличаться от Java Swing.
Для Winforms вы просто создадите графический объект на основе некоторой области вашей формы, ограниченной элементом управления (например, Panel или PictureBox), затем по событию MouseClick этого элемента управления зарегистрируйте текущее местоположение мыши и проведите линию между это местоположение и местоположение предыдущего клика (или всех других кликов).
Если вы хотите перетаскивать, как с панели инструментов, это немного сложнее; в основном вам нужно отслеживать, что вы перетащили и куда вы уронили, чтобы, когда вы уронили, вы могли выполнить правильное действие. Я полагаю, что аргументы, которые вы получите в обработчике DragDrop, дадут вам эту информацию.