Below is all the transportation info you need.
As I mentioned, train transportation is limited to the south shore in the main towns (Desenzano and Peschiera), which are along the Milano-Verona-Venice line. For train schedules to those to towns see here:
www.trenitalia.com
Buses cover the lake extensively. The lake is in 3 provinces in 3 separate regions (Prov. of Brescia in Lombardy, Prov. of Verona in Veneto, and Prov. of Trento in Trentino-Alto Adige). Desenzano is in the province of Brescia, while Peschiera is the province of Verona.
As such, there are 3 separate provincial transit agencies that cover the different shores:
ATV - Verona Transit Agency
TT SpA - Trentino Trasporti (SpA is the Italian equivalent of INC.=Incorporated).
Trasporti Brescia Nord
But fortunately all bus schedules from the 3 agencies are in the website below:
http://www.lagodigarda.it/Linee-autobus/1158-1.html
For boat transportation, the same website above will direct you to the Italian Government Lake Navigation website. Select Garda and the boat timetable is available here:
http://www.navigazionelaghi.it/eng/g_illago.html
To go to the Dolomites from Malcesine, it would be nice to have a car, because it's just over one hour. With the bus and train, it's a much longer trip. You would go up to Torbole, on the northern tip of the lake. Then from Torbole, you would take another bus (the Riva to Rovereto). Once in Rovereto, you are on the Verona-Bolzano-Brenner rail line. Not sure where you are going in the Dolomites, but if you want to go to Ortisei in the Val Gardena (my recommendation), you would get off at Bolzano and take a bus to the Val Gardena from there.