Horvat succeeds Henrik Sedin, who captained the Canucks for eight seasons before retiring at the end of the 2017-18 campaign.
"They choose captains because of who you are," Sedin said, according to Sportsnet's Iain MacIntyre. "That's why they didn't name a captain right away; they wait and see what kind of person a guy is and how he handles different situations.
"That's why they picked Bo."
Horvat established career highs with the Canucks last season, recording 27 goals and 61 points.
Vancouver selected the 24-year-old with the No. 9 pick in the 2013 NHL Draft.